У меня есть номер, который мне нужно преобразовать в строку. Сначала я использовал это:
Key = i.ToString();
Но я понимаю, что это сортируется в странном порядке, и поэтому мне нужно заполнить его нулями. Как я мог это сделать?
c#
string
string-formatting
Мэнди Уэстон
источник
источник
Ответы:
Скорее просто:
D
обозначает «десятичное число»,2
количество цифр для печати.источник
string.Format("D2", value)
вы получитеD2
в выводе. это не работает Мы должны использовать"{0:00}"
в этом случае.string.Format("{0:D2}", value)
вместо этого. Просто сказатьstring.Format("D2", ...)
ничего не заменит, несмотря на то, что у вас нет заполнителя.value
int.value
Например, если это двойное число, оно должно бытьstring.Format("{0:00}", value)
Посмотрите форматирование строки в C # для некоторых примеров использования String.Format
На самом деле лучший пример форматирования int
или используйте строковую интерполяцию :
источник
Если вы хотите сохранить фиксированную ширину, например, 10 цифр, сделайте это так
Замените столько цифр, сколько хотите.
i = 123
затем приведет кKey = "0000000123"
.источник
Поскольку никто еще не упомянул об этом, если вы используете C # версии 6 или выше (то есть Visual Studio 2015), то вы можете использовать интерполяцию строк для упрощения вашего кода. Таким образом, вместо того, чтобы использовать
string.Format(...)
, вы можете просто сделать это:источник
использовать:
См. Int32.ToString (MSDN) и Стандартные строки числового формата (MSDN).
Или используйте
String.PadLeft
. Например,Приведет к
0000000321
. ХотяString.PadLeft
не будет работать для отрицательных чисел.См. String.PadLeft (MSDN).
источник
Обычно String.Format («формат», объект) предпочтительнее, чем object.ToString («формат»). Следовательно,
предпочтительнее,
источник
Пытаться:
Лично я бы посмотрел, если вы не можете сортировать по целому числу напрямую, а не по строковому представлению.
источник
Для интерполированных строк:
источник
Здесь я хочу, чтобы мое no ограничивалось четырьмя цифрами, например, если оно равно 1, оно должно отображаться как 0001, если оно 11, оно должно отображаться как 0011. Ниже приведен код.
Я реализовал этот код для генерации квитанции.
источник
Выход = "00001"
РЕДАКТИРОВАТЬ: Изменено, чтобы соответствовать сумме PadLeft
источник