C# में Single.IsNaN() मेथड का उपयोग यह जांचने के लिए किया जाता है कि निर्दिष्ट मान "नॉट अ नंबर" (NaN) है या नहीं। यह एक बूलियन मान लौटाता है: true यदि मान NaN है, अन्यथा false।
सिंटैक्स
public static bool IsNaN (float f);
यहां पैरामीटर f एक सिंगल-प्रिसिजन फ्लोटिंग-पॉइंट नंबर है।
उदाहरण 1: Infinity और NaN की जांच
निम्न उदाहरण दर्शाता है कि IsNaN() कैसे काम करता है जब हम शून्य से विभाजन करते हैं:
using System;
public class Demo {
public static void Main() {
float f1 = 5.0f/0.0f; // Positive Infinity
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 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 infinity? = " + Single.IsInfinity(f2));
Console.WriteLine("Is Value2 NaN? = " + Single.IsNaN(f2));
}
}
आउटपुट
Value1 = ∞ Hashcode for Value1 = 2139095040 TypeCode for Value1 = Single Is Value1 infinity? = True Is Value1 NaN? = False Value2 = 45.5 Hashcode for Value2 = 1110835200 TypeCode for Value2 = Single Is Value2 infinity? = False Is Value2 NaN? = False
उदाहरण 2: NaN मान की जांच
जब हम 0.0 को 0.0 से विभाजित करते हैं, तो परिणाम NaN होता है:
using System;
public class Demo {
public static void Main() {
float f1 = 5.0f/0.0f; // Infinity
float f2 = 0.0f / 0.0f; // NaN
Console.WriteLine("Value1 = " + f1);
Console.WriteLine("Is Value1 NaN? = " + Single.IsNaN(f1));
Console.WriteLine("\nValue2 = " + f2);
Console.WriteLine("Is Value2 NaN? = " + Single.IsNaN(f2));
}
}
आउटपुट
Value1 = ∞ Is Value1 NaN? = False Value2 = NaN Is Value2 NaN? = True
मुख्य बिंदु
Single.IsNaN()केवल NaN मान के लिएtrueलौटाता है।- Infinity (धनात्मक या ऋणात्मक) के लिए यह
falseलौटाता है। - फ्लोटिंग-पॉइंट गणनाओं में अमान्य परिणामों को संभालने के लिए यह मेथड उपयोगी है।