将自定义数字格式模式设置为fr-CA,而无需指定区域性

时间:2019-03-11 23:28:51

标签: c# .net

我正在努力应用正确的数字格式模式来获得以下内容: 1 000,00,使用类似“ ### ###,000”的名称。我知道,通过在代码中设置区域性,我们可以指定区域(例如fr-CA)来获得所需的格式,而无需设置自定义模式。尽管这确实非常有效,但我正在寻找一种替代解决方案,以避免指定区域性。由于某些原因,小数点分隔符始终被识别为“。”期间,我无法设置逗号。

1 个答案:

答案 0 :(得分:2)

您可以将NumberFormatInfostring.Format结合使用。

decimal myDecimal = 12345.67m;

NumberFormatInfo nfi = new NumberFormatInfo { NumberDecimalSeparator = "," };

string formattedNumber = string.Format(nfi, "{0:### ### ###.###}", myDecimal);

Console.WriteLine(formattedNumber); // Prints "12 345,67"

Here's a fiddle for you