ToString("0.0##") 的特定于文化的等价物
Culture-specific equivalent of ToString("0.0##")
我正在更改我的应用程序以允许特定区域性的数字格式设置,因此我正在将 ToString("0.00")
更改为 ToString("F2")
。但是我没有看到任何标准的方法来做 ToString("0.###")
的等价物。我将如何以特定于文化的方式实现这一目标?
实际上,格式字符串中的 .
只是标识文化特定小数分隔符的 占位符 ,因此 ToString("0.###")
应该可以正常工作。千位分隔符,
和百分号%
.
也是如此
证明:
CultureInfo c = CultureInfo.CreateSpecificCulture("fr-FR");
Console.WriteLine(1234.567.ToString("0.###",c));
输出:
1234,567
来自 MSDN(强调已添加):
The "." custom format specifier inserts a localized decimal separator into the result string. The first period in the format string determines the location of the decimal separator in the formatted value; any additional periods are ignored.
The character that is used as the decimal separator in the result string is not always a period; it is determined by the NumberDecimalSeparator
property of the NumberFormatInfo
object that controls formatting.
我正在更改我的应用程序以允许特定区域性的数字格式设置,因此我正在将 ToString("0.00")
更改为 ToString("F2")
。但是我没有看到任何标准的方法来做 ToString("0.###")
的等价物。我将如何以特定于文化的方式实现这一目标?
实际上,格式字符串中的 .
只是标识文化特定小数分隔符的 占位符 ,因此 ToString("0.###")
应该可以正常工作。千位分隔符,
和百分号%
.
证明:
CultureInfo c = CultureInfo.CreateSpecificCulture("fr-FR");
Console.WriteLine(1234.567.ToString("0.###",c));
输出:
1234,567
来自 MSDN(强调已添加):
The "." custom format specifier inserts a localized decimal separator into the result string. The first period in the format string determines the location of the decimal separator in the formatted value; any additional periods are ignored.
The character that is used as the decimal separator in the result string is not always a period; it is determined by the
NumberDecimalSeparator
property of theNumberFormatInfo
object that controls formatting.