Verschillende toepassingen vereisen specifieke waarden om te voldoen aan structurele paradigma's. Burgerservicenummers zijn bijvoorbeeld altijd negen cijfers lang. Sommige rapporten vereisen dat getallen worden weergegeven met een vast aantal tekens. Volgnummers beginnen bijvoorbeeld meestal met 1 en worden zonder einde verhoogd, dus ze worden weergegeven met voorloopnullen om een visuele aantrekkingskracht te geven.
Als een Delphi programmeur, hangt uw benadering van het toevoegen van een getal met voorloopnullen af van de specifieke use case voor die waarde. U kunt er eenvoudig voor kiezen om een weergavewaarde op te vullen of u kunt een getal converteren naar een tekenreeks voor opslag in een database.
Padding-methode weergeven
Gebruik een eenvoudige functie om te veranderen hoe uw nummer wordt weergegeven. Gebruik formaat om de conversie te maken door een waarde op te geven voor lengte (de totale lengte van de uiteindelijke uitvoer) en het nummer dat u wilt opvullen:
str: = Formaat ('%. * d, [lengte, aantal])
Om het nummer 7 te vullen met twee voorloopnullen, plug die waarden in de code:
str: = Formaat ('%. * d, [3, 7]);
Het resultaat is 007 met de waarde geretourneerd als een tekenreeks.
Converteren naar String-methode
Gebruik een opvulfunctie om voorloopnullen (of een ander teken) toe te voegen wanneer je het nodig hebt in je script. Om waarden te converteren die al gehele getallen zijn, gebruikt u:
functie LeftPad (waarde: geheel getal; lengte: geheel getal = 8; pad: char = '0'): string; overbelasten;
beginnen
resultaat: = RightStr (StringOfChar (pad, lengte) + IntToStr (waarde), lengte);
einde;
Als de te converteren waarde al een tekenreeks is, gebruikt u:
functie LeftPad (waarde: string; lengte: geheel getal = 8; pad: char = '0'): string; overbelasten;
beginnen
resultaat: = RightStr (StringOfChar (pad, lengte) + waarde, lengte);
einde;
Deze aanpak werkt met Delphi 6 en latere edities. Beide codeblokken hebben standaard een opvulkarakter van 0 met een lengte van zeventeruggekeerde karakters; deze waarden kunnen worden aangepast om aan uw behoeften te voldoen.
Wanneer LeftPad wordt aangeroepen, worden waarden geretourneerd volgens het opgegeven paradigma. Als u bijvoorbeeld een geheel getal instelt op 1234, roept u LeftPad aan:
i: = 1234;
r: = LeftPad (i);
retourneert een tekenreekswaarde van 0001234.