我试图将一些字符串解析为double值,使用此解析方法重载:
double.Parse("198.222213745118", CultureInfo.CurrentUICulture);
CultureInfo.CurrentUICulture是fr-FR。 但是这会抛出FormatException类型的异常。
可能是什么原因?
答案 0 :(得分:5)
法语(即fr-FR
)使用逗号表示小数部分的开头,而不是句点。他们用一段时间来分隔数千人。
答案 1 :(得分:0)
我知道这个问题已经过时但我的回答可能对其他人有所帮助。 所以这就是答案:
double.Parse("198.222213745118", System.Globalization.NumberStyles.AllowDecimalPoint, System.Globalization.NumberFormatInfo.InvariantInfo);
而不是
double.Parse("198.222213745118", CultureInfo.CurrentUICulture);
答案 2 :(得分:-2)
我建议使用Double.TryParse而不是.Parse,因为它使用起来更安全,并确保在解析时不会出现任何异常。
以下是您可以使用的代码,
double answer = -1;
Double.TryParse("Value", out answer);
现在你所要做的就是做一个条件语句,检查它是否确实解析了字符串。