Olika tillämpningar kräver specifika värden för att överensstämma med strukturella paradigmer. Till exempel är personnummer alltid nio siffror långa. Vissa rapporter kräver att siffror visas med ett fast antal tecken. Sekvensnummer börjar till exempel med 1 och steg utan slut, så att de visas med ledande nollor för att visa en visuell överklagande.
Som en Delphi-programmerare, beror din inställning på att lägga till ett nummer med ledande nollor på det specifika användningsfallet för det värdet. Du kan helt enkelt välja att lägga ett visningsvärde, eller så kan du konvertera ett nummer till en sträng för lagring i en databas.
Metod för visningspolning
Använd en enkel funktion för att ändra hur ditt nummer visas. Använda sig av formatera att göra konverteringen genom att tillhandahålla ett värde för längd (den totala längden på den slutliga utgången) och antalet du vill pad:
str: = Format ('%. * d, [längd, antal])
För att fylla nummer 7 med två ledande nollor, anslut dessa värden till koden:
str: = Format ('%. * d, [3, 7]);
Resultatet är 007 med värdet returnerat som en sträng.
Konvertera till strängmetod
Använd en stoppningsfunktion för att lägga till ledande nollor (eller något annat tecken) när du behöver den i ditt skript. För att konvertera värden som redan är heltal använder du:
funktion LeftPad (värde: heltal; längd: heltal = 8; pad: char = '0'): string; överbelastning;
Börja
resultat: = RightStr (StringOfChar (dyna, längd) + IntToStr (värde), längd);
slutet;
Om värdet som ska konverteras redan är en sträng använder du:
funktion LeftPad (värde: sträng; längd: heltal = 8; pad: char = '0'): string; överbelastning;
Börja
resultat: = RightStr (StringOfChar (dyna, längd) + värde, längd);
slutet;
Denna metod fungerar med Delphi 6 och senare utgåvor. Båda dessa kodblock är som standard en polstringstecken 0 med en längd av sju returerade karaktärer; dessa värden kan ändras för att tillgodose dina behov.
När LeftPad anropas returnerar den värden enligt det angivna paradigmet. Om du till exempel ställer in ett heltal till 1234, ringer du LeftPad:
i: = 1234;
r: = LeftPad (i);
kommer att returnera ett strängvärde på 0001234.