Sådan føjes førende nul til et tal (Delphi-format)

click fraud protection

Forskellige anvendelser kræver specifikke værdier for at overholde strukturelle paradigmer. F.eks. Er personnummer altid ni cifre. Nogle rapporter kræver, at numre vises med en fast mængde tegn. Sekvensnumre starter for eksempel normalt med 1 og forøgelse uden ende, så de vises med førende nuller for at fremvise en visuel appel.

Som en Delphi-programmør, afhænger din tilgang til at tilføje et tal med førende nuller af den specifikke brugssag for den værdi. Du kan ganske enkelt vælge at vælge en visningsværdi, eller du kan konvertere et nummer til en streng til opbevaring i en database.

Vis polstermetode

Brug en ligetil funktion til at ændre, hvordan dit nummer vises. Brug format at foretage konverteringen ved at levere en værdi for længde (den samlede længde af den endelige output) og det antal, du vil pad:

str: = Format ('%. * d, [længde, antal])

For at indpode tallet 7 med to førende nuller, skal du sætte disse værdier i koden:

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

Resultatet er 007 med værdien returneret som en streng.

instagram viewer

Konverter til strengmetode

Brug en polstringfunktion til at tilføje førende nuller (eller enhver anden karakter), hver gang du har brug for det i dit script. For at konvertere værdier, der allerede er heltal, skal du bruge:

funktion LeftPad (værdi: heltal; længde: heltal = 8; pad: char = '0'): streng; overbelaste; 

begynde

 resultat: = RightStr (StringOfChar (pude, længde) + IntToStr (værdi), længde); 

ende;

Hvis den værdi, der skal konverteres, allerede er en streng, skal du bruge:

funktion LeftPad (værdi: streng; længde: heltal = 8; pad: char = '0'): streng; overbelaste;

begynde

 resultat: = RightStr (StringOfChar (pude, længde) + værdi, længde);

ende;

Denne tilgang fungerer sammen med Delphi 6 og senere udgaver. Begge disse kodeblokke er som standard en polstringstegn på 0 med en længde på syv returnerede tegn; disse værdier kan ændres for at imødekomme dine behov.

Når LeftPad kaldes, returnerer det værdier i henhold til det specificerede paradigme. Hvis du f.eks. Indstiller en heltalværdi til 1234 ved at kalde LeftPad:

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

returnerer en strengværdi på 0001234.

instagram story viewer