In C # ho un valore intero che deve essere convertito in stringa ma deve aggiungere zeri prima di:
Per esempio:
int i = 1;
Quando lo converto in stringa deve diventare 0001
Devo conoscere la sintassi in C #.
In C # ho un valore intero che deve essere convertito in stringa ma deve aggiungere zeri prima di:
Per esempio:
int i = 1;
Quando lo converto in stringa deve diventare 0001
Devo conoscere la sintassi in C #.
Risposte:
i.ToString().PadLeft(4, '0')- va bene, ma non funziona con numeri negativi
i.ToString("0000");- forma esplicita - identificatore di formato
i.ToString("D4");breve
$"{i:0000}";- interpolazione di stringhe (C # 6.0+)
i.ToString("D4");
Vedi MSDN sugli identificatori di formato.
Ecco un buon esempio:
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
Puoi usare:
int x = 1;
x.ToString("0000");
string.Format("{0:0000}", x)
Interpolazione di stringhe di stile C # 6.0
int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
$"some text {x.ToStrig("D4")} after text"
i.ToString("0000");
Semplicemente
int i=123;
string paddedI = i.ToString("D4");
.NET ha una funzione semplice per farlo nella Stringclasse. Usa solo:
.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"
Qui voglio riempire il mio numero con 4 cifre. Ad esempio, se è 1, dovrebbe essere visualizzato come 0001, se 11 dovrebbe essere visualizzato come 0011.
Di seguito è riportato il codice che compie questo:
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
Ho implementato questo codice per generare il numero di ricevuta del denaro per un file PDF.
Per int ieseguire il pad in modo che corrisponda alla lunghezza della stringa di int x, quando entrambi possono essere negativi:
i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')