Hur man lägger ledande noll till ett nummer (Delphi-format)

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:

instagram viewer
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.

instagram story viewer