Add comma thousand separator to decimal (.net)

В любом производственном сценарии я заставил бы Вас искать значение к желаемому количеству десятичных точек, и хранить его как 'константу' где-нибудь, Ваши классы могут добраться до него.

(если Вы не пишете научному 'Pi' определенное программное обеспечение...)

17
задан Community 16 March 2019 в 16:14
поделиться

4 ответа

You should use a custom formatting like #,##0.00

string s = string.Format("{0:#,##0.00}", xx);

Will produce 1,234.50 when xx = 1234.5M
forget about converting to double, that won't really help.

24
ответ дан 30 November 2019 в 11:13
поделиться

Have you tried this?

   String.Format("{0:0,0.00}", 1234.560);
0
ответ дан 30 November 2019 в 11:13
поделиться

Вы знаете, что .NET имеет встроенную поддержку для правильного форматирования чисел в соответствии с региональными настройками каждого пользователя вашего приложения? Возможно, было бы лучше использовать собственные региональные настройки пользователя (платформа .NET уже знает все правильные настройки). Штаты и 1.025 в Германии. В Швеции разделитель тысяч - это пробел »

В MSDN есть специальный раздел , посвященный этой теме, которую они называют« Глобализация »(т.е. это хороший поисковый запрос, если вам когда-нибудь понадобится более подробная информация). Эта страница описывает, как использование знака фунта работает в качестве заполнителя цифры для удаления конечных нулей (как было предложено Хенком Холтерманом в предыдущем комментарии).

См. также Строки настраиваемого числового формата .

11
ответ дан 30 November 2019 в 11:13
поделиться

Другой вариант:

decimal d = 1234.56m;
string s = d.ToString("N");    // 1,234.56
8
ответ дан 30 November 2019 в 11:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: