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