web-dev-qa-db-ger.com

C # konvertieren Int zu Zeichenfolge mit Auffüllen von Nullen?

In C # habe ich einen ganzzahligen Wert, der in einen String konvertiert werden muss, aber zuvor Nullen hinzugefügt werden müssen:

Zum Beispiel:

int i = 1;

Wenn ich es in einen String konvertiere, muss es 0001 sein

Ich muss die Syntax in C # kennen.

411
Pinu

i.ToString().PadLeft(4, '0') - okay, funktioniert aber nicht für negative Zahlen
i.ToString("0000"); - explizite Form
i.ToString("D4"); - Kurzform-Formatbezeichner

649
Jay
i.ToString("D4");

Siehe MSDN zu Formatangaben.

267
Ryan

Hier ist ein gutes Beispiel:

int number = 1;
//D4 = pad with 0000
string outputValue = String.Format("{0:D4}", number);
Console.WriteLine(outputValue);//Prints 0001
//OR
outputValue = number.ToString().PadLeft(4, '0');
Console.WriteLine(outputValue);//Prints 0001 as well
114
Denys Wessels

Sie können verwenden:

int x = 1;
x.ToString("0000");
66
Yodan Tauber

String-Interpolation im C # 6.0-Stil

int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
45
Dr Blowhard
i.ToString("0000");
18
Justin Niessner

Einfach

int i=123;
string paddedI = i.ToString("D4");
3
cahit beyaz

Kinderleicht

int i = 1;
i.ToString("0###")
2
maeneak

.NET hat eine einfache Funktion, um dies in der Klasse String zu tun. Benutz einfach:

.ToString().PadLeft(4, '0')  // that will fill your number with 0 on the left, up to 4 length

int i = 1; 
i.toString().PadLeft(4,'0')  // will return "0001"  
0
Hernan
int p = 3; // fixed length padding
int n = 55; // number to test

string t = n.ToString("D" + p); // magic     

Console.WriteLine("Hello, world! >> {0}", t);

// outputs: 
// Hello, world! >> 055
0
Serge