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

String.Format целое число, чтобы использовать разделитель тысяч без десятичных знаков или число 0 для малых целых чисел

Глупый вопрос, я хочу отформатировать целое число так, чтобы оно появлялось с разделителем 1000 (,), но также без десятичных знаков и без ведущего 0.

Мои попытки до сих пор были:

String.Format("{0} {1}", 5, 5000);            // 5 5000
String.Format("{0:n} {1:n}", 5, 5000);        // 5.00 5,000.00
String.Format("{0:0,0} {1:0,0}", 5, 5000);    // 05 5,000

Выход, который я получаю после:

5 5,000

Есть ли что-то очевидное, что мне не хватает?

4b9b3361

Ответ 1

Это сработало для меня.

String.Format("{0:#,0} {1:#,0}", 5, 5000); // 5 5,000

Ответ 2

Попробуйте следующее: -

String.Format("{0:n0}",5000) // 5,000
String.Format("{0:n0}",5) // 5
String.Format("{0:n0}",0) // 0

Ответ 3

String.Format("{0:#,0} {1:#,0}", 5, 5000); // "5 5,000"
  • 0 в строке формата означает, что здесь находится цифра, а также [ведущий/конечный] ноль [для выравнивания объектов и т.д.]. EDIT: вы обязательно захотите, чтобы она была последней цифрой в шаблоне, или нулевое значение будет отображаться как пустая строка
  • # означает, что вы ничего не помещаете в вывод, если здесь нет значащей цифры.

ИЗМЕНИТЬ (спасибо @eulerfx):

  • последняя часть должна быть 0, а не # (как я ее первоначально имел), поскольку значение нуля в противном случае было бы представлено как строка нулевой длины.

Ответ 4

Try

String.Format("{0:#,#}", 4000);