W języku C # mam wartość całkowitą, która musi być przekazana do łańcucha, ale musi dodać zera przed:
Na przykład:
int i = 1;
Kiedy przekonwertuję go na ciąg, musi on mieć postać 0001
Muszę znać składnię w C #.
W języku C # mam wartość całkowitą, która musi być przekazana do łańcucha, ale musi dodać zera przed:
Na przykład:
int i = 1;
Kiedy przekonwertuję go na ciąg, musi on mieć postać 0001
Muszę znać składnię w C #.
Odpowiedzi:
i.ToString().PadLeft(4, '0')
- w porządku, ale nie działa dla liczb ujemnych
i.ToString("0000");
- jawna forma
i.ToString("D4");
- specyfikator formatu krótkiego
$"{i:0000}";
- interpolacja ciągów (C # 6.0+)
i.ToString("D4");
Zobacz MSDN na specyfikatory formatu.
Oto dobry przykład:
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
Możesz użyć:
int x = 1;
x.ToString("0000");
string.Format("{0:0000}", x)
Interpolacja ciągów w stylu C # 6.0
int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
$"some text {x.ToStrig("D4")} after text"
i.ToString("0000");
Po prostu
int i=123;
string paddedI = i.ToString("D4");
.NET ma łatwą do tego funkcję w String
klasie. Po prostu użyj:
.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"
Chciałbym tutaj wpisać 4 cyfry. Na przykład, jeśli jest to 1, to powinien być pokazany jako 0001, jeśli to 11, powinien być pokazany jako 0011.
Poniżej znajduje się kod, który to osiąga:
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
Zaimplementowałem ten kod, aby wygenerować numer paragonu pieniężnego dla pliku PDF.