В C # у меня есть целочисленное значение, которое нужно преобразовать в строку, но перед этим нужно добавить нули:
Например:
int i = 1;
Когда я конвертирую его в строку, он должен стать 0001
Мне нужно знать синтаксис C #.
В C # у меня есть целочисленное значение, которое нужно преобразовать в строку, но перед этим нужно добавить нули:
Например:
int i = 1;
Когда я конвертирую его в строку, он должен стать 0001
Мне нужно знать синтаксис C #.
i.ToString().PadLeft(4, '0')
- нормально, но не работает с отрицательными числами i.ToString("0000");
- явная форма i.ToString("D4");
- описатель краткого формата формы $"{i:0000}";
- интерполяция строк (C # 6.0+)
i.ToString("D4");
См. MSDN о спецификаторах формата.
Вот хороший пример:
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
Вы можете использовать:
int x = 1;
x.ToString("0000");
string.Format("{0:0000}", x)
- person Yodan Tauber; 01.12.2010
Интерполяция строк в стиле C # 6.0
int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";
$"some text {x.ToStrig("D4")} after text"
- person Bruno Miquelin; 21.06.2019
Очень просто
int i = 1;
i.ToString("0###")
Просто
int i=123;
string paddedI = i.ToString("D4");
В .NET есть простая функция для этого в классе String
. Просто используйте:
.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"
Здесь я хочу добавить в свой номер 4 цифры. Например, если он равен 1, он должен отображаться как 0001, если он 11, он должен отображаться как 0011.
Ниже приведен код, который выполняет это:
reciptno=1; // Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted; // Output=0001
Я реализовал этот код, чтобы сгенерировать номер денежной квитанции для файла PDF.
Чтобы заполнить int i
, чтобы соответствовать длине строки int x
, когда оба могут быть отрицательными:
i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')