So fügen Sie einer Zahl führende Nullen hinzu (Delphi-Format)

Unterschiedliche Anwendungen erfordern bestimmte Werte, um den Strukturparadigmen zu entsprechen. Zum Beispiel sind Sozialversicherungsnummern immer neunstellig. In einigen Berichten müssen Zahlen mit einer festen Anzahl von Zeichen angezeigt werden. Beispielsweise beginnen Sequenznummern normalerweise mit 1 und werden ohne Ende inkrementiert, sodass sie mit führenden Nullen angezeigt werden, um einen visuellen Eindruck zu vermitteln.

Als Delphi-Programmierer hängt Ihr Ansatz zum Hinzufügen einer Zahl mit führenden Nullen vom konkreten Anwendungsfall für diesen Wert ab. Sie können sich einfach dafür entscheiden, einen Anzeigewert aufzufüllen, oder Sie können eine Zahl in eine Zeichenfolge zum Speichern in einer Datenbank konvertieren.

Auffüllmethode anzeigen

Verwenden Sie eine einfache Funktion, um die Anzeige Ihrer Nummer zu ändern. Verwenden Format Umrechnung durch Eingabe eines Wertes für Länge (die Gesamtlänge der endgültigen Ausgabe) und die Nummer, die Sie auffüllen möchten:

str: = Format ('%. * d, [Länge, Nummer])

Um die Zahl 7 mit zwei führenden Nullen aufzufüllen, fügen Sie diese Werte in den Code ein:

str: = Format ('%. * d, [3, 7]);

Das Ergebnis ist 007 mit dem als String zurückgegebenen Wert. 

In String-Methode konvertieren

Verwenden Sie eine Auffüllfunktion, um führende Nullen (oder andere Zeichen) anzufügen, wann immer Sie sie in Ihrem Skript benötigen. Verwenden Sie zum Konvertieren von Werten, die bereits Ganzzahlen sind, Folgendes:

Funktion LeftPad (Wert: Ganzzahl; Länge: Ganzzahl = 8; Pad: Zeichen = '0'): Zeichenfolge; Überlast; 

Start

   Ergebnis: = RightStr (StringOfChar (Pad, Länge) + IntToStr (Wert), Länge); 

Ende;

Wenn der zu konvertierende Wert bereits eine Zeichenfolge ist, verwenden Sie:

Funktion LeftPad (Wert: string; Länge: integer = 8; Pad: char = '0'): string; Überlast;

Start

   Ergebnis: = RightStr (StringOfChar (Pad, Länge) + Wert, Länge);

Ende;

Dieser Ansatz funktioniert mit Delphi 6 und späteren Editionen. Beide Codeblöcke haben standardmäßig das Füllzeichen mit einer Länge von siebenzurückgegebene Zeichen; Diese Werte können an Ihre Bedürfnisse angepasst werden.

Wenn LeftPad aufgerufen wird, werden Werte gemäß dem angegebenen Paradigma zurückgegeben. Wenn Sie beispielsweise einen ganzzahligen Wert auf 1234 setzen und LeftPad aufrufen:

i: = 1234;
r: = LeftPad (i);

Gibt einen Stringwert von zurück 0001234.