Double.Parse(“NaN”)是否正确解析?

时间:2012-08-08 00:58:19

标签: c# .net double nan

C#Double是否正确解析“NaN”,即。是Double.Parse("NaN").ToString() == "NaN"

2 个答案:

答案 0 :(得分:6)

试一试:

PS> $ic = [Globalization.CultureInfo]::InvariantCulture
PS> [double]::parse('NaN', $ic).ToString($ic)
NaN

但是,此字符串的解析和输出依赖于语言环境,因此要么确保始终传递文化,要么不要对格式做太多假设。

答案 1 :(得分:6)

var d = Double.Parse("NaN");
Console.WriteLine(d); // prints "NaN"

我在en-US语言环境下运行。正如乔伊所说,要小心这一点。当我指定不变文化时(在这种情况下经常应该这样),我得到了相同的结果:

var d = Double.Parse("NaN", CultureInfo.InvariantCulture);
Console.WriteLine(d.ToString(CultureInfo.InvariantCulture)); // prints "NaN"