Kako dodati vodeće nule u broj (Delphi format)

Različite aplikacije zahtijevaju određene vrijednosti da bi se uskladile sa strukturalnim paradigmama. Na primjer, brojevi socijalnog osiguranja uvijek su dugački devet znakova. Neka izvješća zahtijevaju da se brojevi prikazuju s određenom količinom znakova. Na primjer, brojevi redoslijeda obično počinju s 1 i prirast bez kraja, pa su prikazani s vodećim nulama za vizualnu privlačnost.

Kao Delphi programer, vaš pristup dodavanju broja vodećim nulama ovisi o konkretnom slučaju upotrebe za tu vrijednost. Jednostavno se možete odlučiti za podešavanje prikazane vrijednosti ili možete pretvoriti broj u niz za pohranu u bazi podataka.

Način podmetanja zaslona

Pomoću jednostavne funkcije promijenite način prikazivanja vašeg broja. Koristiti format izvršiti pretvorbu pružanjem vrijednosti za dužina (ukupna dužina konačnog rezultata) i broj koji želite dodati:

str: = Format ('%. * d, [dužina, broj])

Da biste podcrtali broj 7 s dvije vodeće nule, uključite te vrijednosti u kôd:

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

instagram viewer

Rezultat je 007 s vrijednosti vraćenom kao nizom.

Pretvori u String metodu

Upotrijebite funkciju presvlačenja da biste dodali vodeće nule (ili bilo koji drugi znak) u bilo kojem trenutku kada vam je potreban unutar vaše skripte. Za pretvaranje vrijednosti koje su već cijeli brojevi, upotrijebite:

funkcija LeftPad (vrijednost: cijeli broj; duljina: cijeli broj = 8; pad: char = '0'): string; preopterećenje; 

početi

 rezultat: = RightStr (StringOfChar (pad, dužina) + IntToStr (vrijednost), dužina); 

kraj;

Ako je vrijednost koja se pretvara već niz, upotrijebite:

funkcija LeftPad (vrijednost: string; duljina: cijeli broj = 8; pad: char = '0'): string; preopterećenje;

početi

 rezultat: = RightStr (StringOfChar (pad, dužina) + vrijednost, duljina);

kraj;

Ovaj pristup funkcionira sa Delphi 6 i kasnije izdanja. Oba ova koda blokiraju zadani znak od podloge 0 s dužinom od sedamnaest likova; te se vrijednosti mogu izmijeniti u skladu s vašim potrebama.

Kad se nazove LeftPad, vraća vrijednosti prema navedenoj paradigmi. Na primjer, ako postavite cijelu vrijednost na 1234, pozivajući LeftPad:

i: = 1234;
r: = Lijevi Pad (i);

vratit će vrijednost niza od 0001234.