Dažādām lietojumprogrammām ir vajadzīgas īpašas vērtības, lai tās atbilstu strukturālajām paradigmām. Piemēram, sociālās apdrošināšanas numuri vienmēr ir deviņus ciparus gari. Dažos pārskatos prasīts, lai skaitļi tiktu parādīti ar fiksētu rakstzīmju daudzumu. Piemēram, kārtas numuri sākas ar 1 un pieaugumu bez beigām, tāpēc tie tiek parādīti ar nulles burtiem, lai parādītu vizuālo pievilcību.
Kā Delfi programmētājs, jūsu pieeja skaitļa pievienošanai ar pirmajām nullēm ir atkarīga no šīs vērtības īpašā lietojuma gadījuma. Jūs varat vienkārši izvēlēties displeja vērtības korekciju vai arī konvertēt numuru virknē, lai to saglabātu datu bāzē.
Displeja polsterēšanas metode
Izmantojiet vienkāršu funkciju, lai mainītu sava numura parādīšanas veidu. Izmantojiet formāts veikt konvertāciju, ievadot vērtību garums (kopējais gala iznākuma garums) un numurs, kuru vēlaties piestiprināt:
str: = formāts ('%. * d, [garums, skaitlis])
Lai iespiestu skaitli 7 ar divām priekšējām nulles atzīmēm, iespraudiet šīs vērtības kodā:
str: = formāts ('%. * d, [3, 7]);
Rezultāts ir 007 ar vērtību, kas atgriezta kā virkne.
Konvertēt uz stīgu metodi
Izmantojiet polsterēšanas funkciju, lai pievienotu nulles (vai jebkuru citu rakstzīmi) jebkurā laikā, kad tas skriptam jums nepieciešams. Lai konvertētu vērtības, kas jau ir veseli skaitļi, izmantojiet:
funkcija LeftPad (vērtība: vesels skaitlis; garums: vesels skaitlis = 8; spilventiņš: char = '0'): virkne; pārslodze;
sākt
rezultāts: = RightStr (StringOfChar (spilventiņš, garums) + IntToStr (vērtība), garums);
beigas;
Ja konvertējamā vērtība jau ir virkne, izmantojiet:
funkcija LeftPad (vērtība: virkne; garums: vesels skaitlis = 8; spilventiņš: char = '0'): virkne; pārslodze;
sākt
rezultāts: = RightStr (StringOfChar (spilventiņš, garums) + vērtība, garums);
beigas;
Šī pieeja darbojas ar Delfi 6 un jaunāki izdevumi. Abi šie koda bloki pēc noklusējuma ir polsterēšanas raksturs 0 ar septiņu atgrieztu zīmju garumu; šīs vērtības var mainīt, lai atbilstu jūsu vajadzībām.
Kad tiek izsaukts LeftPad, tas atgriež vērtības atbilstoši norādītajai paradigmai. Piemēram, ja iestatāt veselu skaitli 1234, izsaucot LeftPad:
i: = 1234;
r: = LeftPad (i);
atgriezīs virknes vērtību 0001234.