Как вставить разделитель тысяч (запятую) с преобразованием в двойное

Я пытаюсь отформатировать содержимое текстового поля:

this.lblSearchResults1.Text =
    Convert.ToDouble(lblSearchResults1.Text).ToString(); 

Как я могу изменить это, чтобы в тексте содержались разделители запятая / тысяча?

т.е. 1000 вместо 1000.

46
задан Benjamin 19 September 2014 в 23:59
поделиться

4 ответа

Для полного пользовательского контроля используйте ... .ToString("#,##0.00") или их вариации. Варианты . и , будут заменены символами, зависящими от культуры. В большинстве стран Европы вы получите 1.234,56.
Еще один полезный рисунок - 0.0#.

Чтобы использовать шаблон, зависящий от культуры пользователя (или выбранной культуры), используйте Спецификатор числового формата ("N"), как в .ToString("N") или "... {0:N}".

52
ответ дан 26 November 2019 в 20:06
поделиться

Глядя на строки стандартного числового формата :

Вы можете легко использовать 'N', которое будет делать правильные вещи в зависимости от культуры пользователя, поэтому в вашем случае вы можете просто добавить "N "в качестве параметра ToString

([double]12345.67).ToString("N")

12,345.67

75
ответ дан 26 November 2019 в 20:06
поделиться

Если вы внимательно посмотрите на Строки стандартного числового формата , вы можете попробовать одно из следующего:

.ToString("n", CultureInfo.GetCultureInfo("en-US"))
.ToString("n", CultureInfo.GetCultureInfo("de-DE"))
.ToString("n", CultureInfo.CurrentCulture)
8
ответ дан 26 November 2019 в 20:06
поделиться

Самый простой способ сделать это будет примерно так:

Convert.ToDouble("1234567.12345").ToString("N")

Если вы хотите контролировать десятичные разряды, вы можете что-то сделать например:

Convert.ToDouble("1234567.12345").ToString("N3")

В общем, посмотрите на перегрузки ToString, чтобы увидеть более интересные возможности.

1
ответ дан 26 November 2019 в 20:06
поделиться
Другие вопросы по тегам:

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