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]);
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.