我正在更改我的应用程序以允许特定于文化的数字格式,因此我将实例ToString("0.00")
更改为ToString("F2")
。但是,我没有看到任何标准的方法来做同等级的ToString("0.###")
。我将如何以文化特定的方式实现这一目标?
答案 0 :(得分:4)
实际上,格式字符串中的.
只标识文化特定小数分隔符的占位符,因此ToString("0.###")
应该可以正常工作。千位分隔符,
和百分号%
也是如此。
证明:
CultureInfo c = CultureInfo.CreateSpecificCulture("fr-FR");
Console.WriteLine(1234.567.ToString("0.###",c));
输出:
1234,567
来自MSDN(强调补充):
"。"自定义格式说明符将本地化小数点分隔符插入到结果字符串中。格式字符串中的第一个句点确定格式化值中小数分隔符的位置;任何额外的时期都会被忽略。
在结果字符串中用作小数点分隔符的字符并不总是句点;它由控制格式化的
NumberDecimalSeparator
对象的NumberFormatInfo
属性决定。