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
001
quelle

Antworten:

295

Sie können PadLeft verwenden

var newString = Your_String.PadLeft(4, '0');
kemiller2002
quelle
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
59
myInt.ToString("D4");
Rex M.
quelle
11
Die Frage ist, wie man einer Zeichenfolge eine Auffüllung hinzufügt.
Matthew Flaschen
10
string.Format("{0:D4}", myInt)
Tonatio
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

Shiraj Momin
quelle
9
"1".PadLeft(4, '0');
Matthew Flaschen
quelle
1
int num = 1;
num.ToString("0000");
Noor E Alam Robin
quelle