C#中的Single.IsNaN()方法与示例

C#中的Single.IsNan()方法用于返回一个值,该值指示指定的值是否不是数字(NaN)。

语法

语法如下-

public static bool IsNaN (float f);

上面的参数val是单精度浮点数。

示例

现在让我们看一个例子-

using System;
public class Demo {
   public static void Main() {
      float f1 = 5.0f/0.0f;
      float f2 = 45.5f;
      Console.WriteLine("Value1 = "+f1);
      Console.WriteLine("Hashcode for Value1 = "+f1.GetHashCode());
      Console.WriteLine("TypeCode for Value1 = "+f1.GetTypeCode());
      Console.WriteLine("Is Value1 value is positive or negative infinity? = "+Single.IsInfinity(f1));
      Console.WriteLine("Is Value1 NaN? = "+Single.IsNaN(f1));
      Console.WriteLine("\nValue2 = "+f2);
      Console.WriteLine("Hashcode for Value2 = "+f2.GetHashCode());
      Console.WriteLine("TypeCode for Value2 = "+f2.GetTypeCode());
      Console.WriteLine("Is Value2 value is positive or negative infinity? = "+Single.IsInfinity(f2));
      Console.WriteLine("Is Value2 NaN? = "+Single.IsNaN(f2));
   }
}

输出结果

这将产生以下输出-

Value1 = ∞
Hashcode for Value1 = 2139095040
TypeCode for Value1 = Single
Is Value1 value is positive or negative infinity? = True
Is Value1 NaN? = False

Value2 = 45.5
Hashcode for Value2 = 1110835200
TypeCode for Value2 = Single
Is Value2 value is positive or negative infinity? = False
Is Value2 NaN? = False

示例

现在让我们来看另一个示例-

using System;
public class Demo {
   public static void Main() {
      float f1 = 5.0f/0.0f;
      float f2 = 0.0f / 0.0f;
      Console.WriteLine("Value1 = "+f1);
      Console.WriteLine("Hashcode for Value1 = "+f1.GetHashCode());
      Console.WriteLine("TypeCode for Value1 = "+f1.GetTypeCode());
      Console.WriteLine("Is Value1 value is positive or negative infinity? = "+Single.IsInfinity(f1));
      Console.WriteLine("Is Value1 NaN? = "+Single.IsNaN(f1));
      Console.WriteLine("\nValue2 = "+f2);
      Console.WriteLine("Hashcode for Value2 = "+f2.GetHashCode());
      Console.WriteLine("TypeCode for Value2 = "+f2.GetTypeCode());
      Console.WriteLine("Is Value2 value is positive or negative infinity? = "+Single.IsInfinity(f2));
      Console.WriteLine("Is Value2 NaN? = "+Single.IsNaN(f2));
   }
}

输出结果

这将产生以下输出-

Value1 = ∞
Hashcode for Value1 = 2139095040
TypeCode for Value1 = Single
Is Value1 value is positive or negative infinity? = True
Is Value1 NaN? = False

Value2 = NaN
Hashcode for Value2 = -4194304
TypeCode for Value2 = Single
Is Value2 value is positive or negative infinity? = False
Is Value2 NaN? = True