C#Double
是否正确解析“NaN”,即。是Double.Parse("NaN").ToString() == "NaN"
?
答案 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"