Ответ 1
Посмотрите PadLeft
.
ex:
int i = 40;
string s = i.ToString().PadLeft(3, '0');
s == "040"
У меня есть int в .NET/С#, который я хочу преобразовать в специально отформатированную строку.
Если значение равно 1, я хочу, чтобы строка была "001".
10 = "010".
116 = "116".
и т.д...
Я оглядываюсь на форматирование строк, но пока ничего не добился. У меня также не будет значений более 999.
Посмотрите PadLeft
.
ex:
int i = 40;
string s = i.ToString().PadLeft(3, '0');
s == "040"
Самый простой способ сделать это - использовать встроенные функции .NET для этого:
var r = 10;
var p = r.ToString("000");
Нет необходимости в циклировании или дополнении.
Другой вариант:
i.ToString("d3")
Я вспоминаю, как выглядит код, подобный этому, для заполнения чисел нулями...
int[] nums = new int[] { 1, 10, 116 };
foreach (int i in nums)
{
Console.WriteLine("{0:000}", i);
}
Вывод:
001
010
116
Каждый раз, когда мне нужно было добавлять вещи в начало строки для соответствия таким критериям, я использовал цикл while. Например:
while (myString.length < 5) myString = "0" + myString;
Хотя может быть и метод string.format, чтобы это сделать, это сработало для меня раньше.