556 Stimmen

C# konvertieren int zu String mit Auffüllen Nullen?

In C# habe ich einen Integer-Wert, der in String konvertiert werden muss, aber es muss Nullen vor hinzufügen:

Zum Beispiel:

int i = 1;

Bei der Umwandlung in eine Zeichenkette muss es 0001 werden.

Ich muss die Syntax in C# kennen.

922voto

Jay Punkte 53725

i.ToString().PadLeft(4, '0') - okay, funktioniert aber nicht bei negativen Zahlen
i.ToString("0000"); - eindeutige Form
i.ToString("D4"); - Kurzformatbezeichner
$"{i:0000}"; - String-Interpolation (C# 6.0+)

304voto

Ryan Punkte 24754
i.ToString("D4");

Voir MSDN auf Formatangaben.

127voto

Denys Wessels Punkte 16583

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

73voto

Dr Blowhard Punkte 5891

String-Interpolation im Stil von C# 6.0

int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";

69voto

Yodan Tauber Punkte 3827

Sie können verwenden:

int x = 1;
x.ToString("0000");

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X