繁体   English   中英

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

[英]Does Double.Parse(“NaN”) parse correctly?

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

试试吧:

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

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

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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM