【发布时间】:2011-04-11 09:27:08
【问题描述】:
我正在使用德国文化设置编写代码
尽管如此,我还是想强制用户将该点用作小数分隔符。
我的一段测试代码输出了错误的值。
如何检测“错误”的逗号?(抛出异常)
string nok_str = "14,9";
string ok_str = "14.9";
double nok_Var1 = double.Parse(nok_str, CultureInfo.InvariantCulture.NumberFormat); // outputs 149.0
double nok_Var2 =Convert.ToDouble(nok_str, CultureInfo.InvariantCulture.NumberFormat); // outputs 149.0
【问题讨论】:
-
您不必添加“NumberFormat”,只需 CultureInfo.InvariantCulture 就足够了。
-
在逗号示例中,千分位分隔符是什么?
-
@Fosco:点,很明显。只需检查
Console.WriteLine(CultureInfo.GetCultureInfo("de-DE").NumberFormat.NumberGroupSeparator);