Мне нужно применить формат к типу decimal
. Скажем, номер 12345
должен быть указан в формате ## ##0,0
. Затем требуемый результат равен 12 345,0
. Но как-то он не применяется правильно, и я получаю результат как 1 2,345
.Формат не применяется во французской культуре
Ниже приведен код, который выполняет форматирование. Также проверьте это fiddle, где воспроизводится моя проблема.
ОБНОВЛЕНО
CultureInfo ci = new CultureInfo("fr-FR");
decimal integral = Convert.ToDecimal("12345");
Console.WriteLine(integral.ToString("## ##0,0"));
Я знаю, что есть много форматов соответствующих решений уже доступны, но не в состоянии получить то, что случилось с этим способом.
Вы, похоже, не используете какую-либо деталь ci, которую вы установили ... вы пытались ее использовать? – BugFinder
Сначала вы должны установить текущую культуру в потоке, потому что вы не используете новую культуру в любом месте. Как C# будет знать, использовать культуру, которую вы создали. –
@ DirtyDeveloper Да, это ошибка, которую я сделал при создании образца кода. Можно проверить обновление и все те же проблемы. – JDoshi