Как указать собственный разделитель тысяч в строках формата

Когда я пытаюсь выполнить приведенный ниже код, я получаю результат 2 084 001 . Что здесь могло быть не так? Разве моя строка формата не должна заменять текущие настройки культуры?

decimal v = 2084000.7621m;
System.Console.WriteLine(v.ToString("#,###,###"));
System.Console.ReadLine();

Если я изменю код для использования ToString ("#, ###, ###", CultureInfo.InvariantCulture) , я получить ожидаемый результат, то есть 2,084,001 , но я не могу указать поставщика формата, когда устанавливаю свойство DataFormatString в моих элементах управления с привязкой к данным.

ПРЕДУПРЕЖДЕНИЕ: При использовании экранированного литеральный разделитель групп, как описано ниже в принятых и других ответах, используемый буквальный символ всегда выводится, даже если он не нужен, например применение строки формата # \, ### \, ### к значению 324 приводит к выходному значению ,, 324 .

]
10
задан ProfK 27 August 2011 в 11:16
поделиться