C#无法将NaN解析为double

时间:2010-07-02 02:09:58

标签: .net localization string-parsing

在日本的Windows PC上,这行C#抛出了一个格式异常:

double d = double.Parse("NaN");

这条线在美国的电脑上执行得很好。

不知道从哪里开始排除故障。有什么想法吗?

提前致谢, 吉姆

2 个答案:

答案 0 :(得分:8)

我明白了问题所在。尝试使用不变格式提供程序。

double d = double.Parse("NaN", CultureInfo.InvariantCulture);

答案 1 :(得分:-3)

首先,您应该确定“NaN”的双精度值。无论如何,解析非数字格式字符串将导致System.FormatException,您应该捕获它并手动设置double值。

double x;
string foo = "NaN";
try 
{
    x = double.Parse(foo);
}
catch
{
    x = 0.0;
}
相关问题