Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА:

C # - Конвертировать int в строку с нулями заполнения? 11 мес. 1 нед. назад #303

  • Олег Коровяков
  • Олег Коровяков аватар Автор темы
  • Не в сети
  • Автор сайта
  • Автор сайта
  • Сообщений: 286
  • Репутация: 1
  • Спасибо получено: 1
В С# у меня есть целочисленное значение, которое нужно преобразовать в строку, но ему нужно добавить нули до установленной длины:

Пример:
int i = 1;
Когда я конвертирую его в строку, он должен стать 0001

Мне нужно знать синтаксис в С#.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

C # - Конвертировать int в строку с нулями заполнения? 11 мес. 1 нед. назад #304

  • Олег Коровяков
  • Олег Коровяков аватар Автор темы
  • Не в сети
  • Автор сайта
  • Автор сайта
  • Сообщений: 286
  • Репутация: 1
  • Спасибо получено: 1
i.ToString().PadLeft(4, '0') - хорошо, но не работает для отрицательных чисел
i.ToString("0000"); - явный вид
i.ToString("D4"); - спецификатор формата короткой формы

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

C # - Конвертировать int в строку с нулями заполнения? 11 мес. 1 нед. назад #305

  • Олег Коровяков
  • Олег Коровяков аватар Автор темы
  • Не в сети
  • Автор сайта
  • Автор сайта
  • Сообщений: 286
  • Репутация: 1
  • Спасибо получено: 1

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

C # - Конвертировать int в строку с нулями заполнения? 11 мес. 1 нед. назад #306

  • Олег Коровяков
  • Олег Коровяков аватар Автор темы
  • Не в сети
  • Автор сайта
  • Автор сайта
  • Сообщений: 286
  • Репутация: 1
  • Спасибо получено: 1
Вот хороший пример:
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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

C # - Конвертировать int в строку с нулями заполнения? 11 мес. 1 нед. назад #307

  • Олег Коровяков
  • Олег Коровяков аватар Автор темы
  • Не в сети
  • Автор сайта
  • Автор сайта
  • Сообщений: 286
  • Репутация: 1
  • Спасибо получено: 1
Вы также можете использовать расширения

напишите статический класс расширения и используйте его просто:
public static class Extensions
{
    public static string IntToStringWithLeftPad(this int number)
    {
        return number.ToString("D4");
    }
}
и используйте его как:
int i = 3;
        string padStr = i.ToStringWithLeftPad();

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Модераторы: Дмитрий