此常数的值是零被零除所得到的结果。
当运算结果未定义时返回此常数。
使用 IsNaN 确定值是否为非数字。不可能通过将某个值与另一个等于 NaN 的值进行比较来确定该值是否不是数字。
下面的代码示例演示如何使用 NaN:
Visual Basic
Dim zero As Double = 0
' This condition will return false.
If (0 / zero) = Double.NaN Then
Console.WriteLine("0 / 0 can be tested with Double.NaN.")
Else
Console.WriteLine("0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.")
End If
C#
Double zero = 0;
// This condition will return false.
if ((0 / zero) == Double.NaN)
{
Console.WriteLine("0 / 0 can be tested with Double.NaN.");
}
else
{
Console.WriteLine("0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.");
}
C++
Double zero = 0;
// This condition will return false.
if ( (0 / zero) == Double::NaN )
{
Console::WriteLine( "0 / 0 can be tested with Double::NaN." );
}
else
{
Console::WriteLine( "0 / 0 cannot be tested with Double::NaN; use Double::IsNan() instead." );
}
J#
Double zero = new Double(0);
// This condition will return false.
if (0 / zero.doubleValue() == Double.NaN) {
Console.WriteLine("0 / 0 can be tested with Double.NaN.");
}
else {
Console.WriteLine(
"0 / 0 cannot be tested with Double.NaN; "
+ "use Double.IsNan() instead.");
}
以上都会输出
0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.
当运算结果未定义时返回此常数。
使用 IsNaN 确定值是否为非数字。不可能通过将某个值与另一个等于 NaN 的值进行比较来确定该值是否不是数字。
下面的代码示例演示如何使用 NaN:
Visual Basic
Dim zero As Double = 0
' This condition will return false.
If (0 / zero) = Double.NaN Then
Console.WriteLine("0 / 0 can be tested with Double.NaN.")
Else
Console.WriteLine("0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.")
End If
C#
Double zero = 0;
// This condition will return false.
if ((0 / zero) == Double.NaN)
{
Console.WriteLine("0 / 0 can be tested with Double.NaN.");
}
else
{
Console.WriteLine("0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.");
}
C++
Double zero = 0;
// This condition will return false.
if ( (0 / zero) == Double::NaN )
{
Console::WriteLine( "0 / 0 can be tested with Double::NaN." );
}
else
{
Console::WriteLine( "0 / 0 cannot be tested with Double::NaN; use Double::IsNan() instead." );
}
J#
Double zero = new Double(0);
// This condition will return false.
if (0 / zero.doubleValue() == Double.NaN) {
Console.WriteLine("0 / 0 can be tested with Double.NaN.");
}
else {
Console.WriteLine(
"0 / 0 cannot be tested with Double.NaN; "
+ "use Double.IsNan() instead.");
}
以上都会输出
0 / 0 cannot be tested with Double.NaN; use Double.IsNan() instead.