web-dev-qa-db-fra.com

C # convertir int en chaîne avec des zéros de remplissage?

En C #, j'ai une valeur entière qui doit être convertie en chaîne, mais il faut ajouter des zéros avant:

Par exemple:

int i = 1;

Lorsque je le convertis en chaîne, il doit devenir 0001

J'ai besoin de connaître la syntaxe en C #.

411
Pinu

i.ToString().PadLeft(4, '0') - d'accord, mais ne fonctionne pas pour les nombres négatifs
i.ToString("0000"); - forme explicite
i.ToString("D4"); - spécificateur de format abrégé

649
Jay
i.ToString("D4");

Voir MSDN sur les spécificateurs de format.

267
Ryan

Voici un bon exemple:

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

Vous pouvez utiliser:

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

Interpolation de chaîne de style C # 6.0

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

Simplement

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

Peasy facile

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

.NET a une fonction facile à faire dans la classe String. Il suffit d'utiliser:

.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