Hvordan legge ledende nuller til et tall (Delphi-format)

Ulike anvendelser krever spesifikke verdier for å samsvare med strukturelle paradigmer. For eksempel er personnummer alltid ni sifre lange. Noen rapporter krever at tall vises med en fast mengde tegn. Sekvensnumre starter for eksempel vanligvis med 1 og trinn uten slutt, slik at de vises med ledende nuller for å presentere en visuell appell.

Som en Delphi-programmerer, din tilnærming til å legge til et tall med ledende nuller avhenger av den spesifikke bruksaken for den verdien. Du kan ganske enkelt velge å legge inn en visningsverdi, eller du kan konvertere et nummer til en streng for lagring i en database.

Vis polstermetode

Bruk en enkel funksjon for å endre hvordan nummeret ditt vises. Bruk format å gjøre konverteringen ved å levere en verdi for lengde (den totale lengden på den endelige utdata) og antallet du vil tømme:

str: = Format ('%. * d, [lengde, antall])

For å tømme nummer 7 med to ledende nuller, kobler du disse verdiene til koden:

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

Resultatet er 007 med verdien returnert som en streng.

instagram viewer

Konverter til strengmetode

Bruk en polstringfunksjon for å legge ledende nuller (eller et hvilket som helst annet tegn) når du trenger det i skriptet. For å konvertere verdier som allerede er heltall, bruk:

funksjon LeftPad (verdi: heltall; lengde: heltall = 8; pad: char = '0'): streng; overbelastning; 

begynne

 resultat: = RightStr (StringOfChar (pute, lengde) + IntToStr (verdi), lengde); 

slutt;

Hvis verdien som skal konverteres allerede er en streng, bruk:

funksjon LeftPad (verdi: streng; lengde: heltall = 8; pad: char = '0'): streng; overbelastning;

begynne

 resultat: = RightStr (StringOfChar (pute, lengde) + verdi, lengde);

slutt;

Denne tilnærmingen fungerer med Delphi 6 og senere utgaver. Begge disse kodeblokkene har standard en polstringstegn på 0 med en lengde på syv returnerte tegn; disse verdiene kan bli endret for å imøtekomme dine behov.

Når LeftPad kalles, returnerer den verdier i henhold til det spesifiserte paradigmet. Hvis du for eksempel angir en heltallverdi til 1234, ringer du LeftPad:

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

vil returnere en strengverdi på 0001234.

instagram story viewer