Kuinka lisätä johtavia nollia numeroon (Delphi-muoto)

Eri sovellukset vaativat erityisiä arvoja, jotta ne vastaisivat rakenteellisia paradigmia. Esimerkiksi sosiaaliturvatiedot ovat aina yhdeksän numeroa pitkiä. Jotkut raportit vaativat, että numerot näytetään kiinteällä määrällä merkkejä. Esimerkiksi sekvenssinumero alkaa yleensä yhdellä ja askeleella ilman loppua, joten ne näytetään johtavilla nolla-arvoilla visuaalisen vetoomuksen esittämiseksi.

Kuten a Delphi-ohjelmoija, lähestymistavasi numeron lisäämiseen johtaa nollajoukolla riippuu kyseisen arvon erityisestä käyttötapauksesta. Voit yksinkertaisesti valita näytön arvon täyttämisen tai muuntaa numeron merkkijonoksi tietokantaa varten.

Näytön täyttömenetelmä

Käytä suoraviivaista toimintoa muuttaaksesi numerosi näyttötapaa. Käyttää muoto tehdä muuntaminen antamalla arvo pituus (lopullisen lähdön kokonaispituus) ja numero, jonka haluat pehmentää:

str: = Muoto ('%. * d, [pituus, numero])

Luo numero 7 kahdella edessä olevalla nollalla kytkemällä nämä arvot koodiin:

str: = muoto ('%. * d, [3, 7]);

instagram viewer

Tuloksena on 007 arvo palautetaan merkkijonona.

Muunna jousimenetelmäksi

Käytä pehmustetoimintoa liittää johtavat nollat ​​(tai mikä tahansa muu merkki) milloin tahansa tarvitset sitä komentosarjaasi. Voit muuntaa jo kokonaislukuja arvoja käyttämällä:

toiminto LeftPad (arvo: kokonaisluku; pituus: kokonaisluku = 8; pad: char = '0'): merkkijono; ylikuormitus; 

alkaa

 tulos: = RightStr (StringOfChar (pad, pituus) + IntToStr (arvo), pituus); 

end;

Jos muunnettava arvo on jo merkkijono, käytä:

toiminto LeftPad (arvo: merkkijono; pituus: kokonaisluku = 8; pad: char = '0'): merkkijono; ylikuormitus;

alkaa

 tulos: = RightStr (StringOfChar (pad, pituus) + arvo, pituus);

end;

Tämä lähestymistapa toimii Delfoi 6 ja uudemmat versiot. Molemmat koodilohot ovat oletuksena täytemerkin 0 pituus seitsemän käännettyä merkkiä; näitä arvoja voidaan muuttaa vastaamaan tarpeitasi.

Kun LeftPad kutsutaan, se palauttaa arvot määritetyn mallin mukaisesti. Jos esimerkiksi asetat kokonaisluvun arvoksi 1234, soittamalla LeftPad:

i: = 1234;
r: = LeftPad (i);

palauttaa merkkijonoarvon 0001234.

instagram story viewer