Маска для форматирования int 1, 10, 100 для строк "001", "010", "100",
Как применить маску к строке, предназначенную для форматирования выходного текста следующим образом (не более 2 ведущих нулей):
int a = 1, b = 10, c = 100;
string aF = LeadingZeroFormat(a), bF = LeadingZeroFormat(b), cF = LeadingZeroFormat(c);
Console.Writeline("{0}, {1}, {2}", aF, bF, cF); // "001, 010, 100"
Какое самое элегантное решение?
Спасибо заранее.
Ответы
Ответ 1
Вы можете использовать Int32.ToString( "000" ) для форматирования целого числа таким образом. Подробнее см. Пользовательские строки числового формата и Int32.ToString:
string one = a.ToString("000"); // 001
string two = b.ToString("000"); // 010
Ответ 2
Как и предложение Рида, вы можете сделать это прямо в строке сложного формата:
int a = 1, b = 10, c = 100;
Console.WriteLine("{0:000}, {1:000}, {2:000}", a, b, c); // "001, 010, 100"
Ответ 3
Чтобы отобразить целое число как десятичное значение, вызовите его ToString (String) метод и передать строку "Dn" в качестве значения параметра формата, где n - минимальная длина строки.
int i = 10;
Console.WriteLine(i.ToString("D3"));
Также проверьте Как: введите номер с ведущими нулями