Fügen Sie einer Zeichenfolge eine Null-Auffüllung hinzu


159

Wie füge ich einer Zeichenfolge eine "0" -Polsterung hinzu, sodass meine Zeichenfolgenlänge immer 4 beträgt?

Beispiel

If input "1", 3 padding is added = 0001
If input "25", 2 padding is added = 0025
If input "301", 1 padding is added = 0301
If input "4501", 0 padding is added = 4501

Antworten:


295

Sie können PadLeft verwenden

var newString = Your_String.PadLeft(4, '0');

20
Denken Sie daran, dass dies "12345".PadLeft(4,'0')immer noch "12345" ist - es wird nicht abgeschnitten. Dies beeinträchtigt diese Antwort übrigens nicht, da sie alle Spezifikationen erfüllt (es ist seltsam befriedigend, wenn eine Antwort, die Sie als akzeptiert gewählt haben, ausgewählt wurde (obwohl sie natürlich nicht so zufriedenstellend ist wie eine von Ihnen akzeptierte) Ich dachte nur, ich würde es erwähnen, falls es irgendwann in der Zukunft seinen hässlichen Kopf aufrichten sollte. Cripes, ich hoffe diese Klammern sind ausgeglichen :-)
paxdiablo

20
@paxdiablo: Sie waren bis zum Smiley.
Paul Ruane

1
"1.2".PadRight(4,'0')funktioniert auch für Null, indem eine Zeichenfolgennummer wie "1.20" gefüllt wird. Ich kann dies tun, um eine einfache Zeichenfolgennummer <10000 abzuschneiden und zu füllen. num = num.length > 4 ? num.Substring(0,4) : num.PadRight(4,'0');
Dan Randolph


31
string strvalue="11".PadRight(4, '0');

Ausgabe = 1100

string strvalue="301".PadRight(4, '0');

Ausgabe = 3010

string strvalue="11".PadLeft(4, '0');

Ausgabe = 0011

string strvalue="301".PadLeft(4, '0');

Ausgabe = 0301



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.