Подтвердить что ты не робот

Как изменить 1 на 00001?

Я хочу иметь числа с фиксированным числом цифр.

пример: 00001, 00198, 48484

Я могу сделать вот так:

    string value;
    if (number < 10)
        value = "0000" + number.ToString();
    else if (number < 100)
        value = "000" + number.ToString();
    else if (number<1000)
    ...

Но это немного странно. Есть ли встроенная функция для моей цели?

4b9b3361

Ответ 1

Да, есть:

string value = String.Format("{0:D5}", number);

Ответ 2

Согласно ссылке MS: http://msdn.microsoft.com/en-us/library/dd260048.aspx

Вы можете поместить целое число с ведущими нулями, используя стандарт "D" числовой формат вместе с спецификатором точности. Вы можете как целые числа, так и числа с плавающей запятой с начальными нулями, используя пользовательская строка числового формата.

Итак:

Чтобы отобразить целое число как десятичное значение, вызовите его ToString (String) метод и передать строку "Dn" в качестве значения параметра формата, где n - минимальная длина строки.

код:

string value = number.ToString("D5");

.NET скрипт: http://dotnetfiddle.net/0U9A6N

Ответ 3

Вы должны использовать метод ToString() с настраиваемым формированием - посмотреть документы. В частности, спецификатор 0.

Заменяет нуль соответствующей цифрой, если она присутствует; в противном случае в строке результата появляется нуль.

например,

value = number.Tostring("00000");

Ответ 4

string value = number.ToString("00000");

Ответ 5

Вы можете сделать это следующим образом:

number.ToString("00000")

Ответ 6

Если вы хотите вернуть 5 цифр, вы должны использовать функцию PadLeft();

int Value = 101;
char pad = '0';
String sValue = Value.ToString();

sValue  = sValue.s.PadLeft(5, char)

В этом случае вам не нужно проверять, добавить ли 1, 2 или 3 нуля, он автоматически добавит количество нулей, необходимых для его 5-значного числа.

Ответ 7

int input_number = Convert.ToInt32(txtinput.Text);
string number_value = input_number.ToString("00000");

Я надеюсь, что он решит вашу проблему. Это сработало для меня в моем предыдущем проекте. Проверьте этот код в своем развитии. Это должно быть корректно обработано.

Ответ 8

Помимо String.Format, вы также можете использовать String.PadLeft

value = number.ToString().PadLeft(5, '0');