4

我正在尝试使用此解析方法重载将一些字符串解析为双精度值:

double.Parse("198.222213745118", CultureInfo.CurrentUICulture);

CultureInfo.CurrentUICulture 是 fr-FR。但这会引发 FormatException 类型的异常。

可能是什么原因?

4

3 回答 3

5

法语 (ie fr-FR) 使用逗号来表示小数部分的开始,而不是句点。他们使用句点来分隔数千。

于 2013-09-17T10:36:33.903 回答
0

我知道这个问题很老,但我的回答可能对其他人有所帮助。所以这是答案:

double.Parse("198.222213745118", System.Globalization.NumberStyles.AllowDecimalPoint, System.Globalization.NumberFormatInfo.InvariantInfo);

代替

double.Parse("198.222213745118", CultureInfo.CurrentUICulture);
于 2016-04-02T16:15:03.837 回答
-2

我建议使用 Double.TryParse 而不是 .Parse,因为它使用起来更安全,并确保您在解析时不会遇到任何异常。

这是一个供您使用的代码,

double answer = -1;
Double.TryParse("Value", out answer);

现在你所要做的就是做一个条件语句来检查它是否确实解析了字符串。

于 2013-09-17T10:40:24.893 回答