Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में Double.Equals() मेथड और उदाहरण


C# में Double.Equals() मेथड यह जांचता है कि दो Double इंस्टेंस समान मान दर्शाते हैं या नहीं। यह दो ओवरलोड प्रदान करता है।

सिंटैक्स

public bool Equals (double obj);
public override bool Equals (object obj);

पहले सिंटैक्स में obj एक Double ऑब्जेक्ट है, दूसरे में यह कोई भी object हो सकता है।

उदाहरण 1: दो डबल मानों की तुलना

using System; 

public class Demo { 
    public static void Main() { 
        double d1 = 150d;
        double d2 = 150d;
        
        Console.WriteLine("Double1 Value = " + d1);
        Console.WriteLine("Double2 Value = " + d2);
        Console.WriteLine("Are both the double values equal? = " + d1.Equals(d2));
    } 
}

आउटपुट

Double1 Value = 150
Double2 Value = 150
Are both the double values equal? = True

उदाहरण 2: डबल और ऑब्जेक्ट की तुलना

using System; 

public class Demo { 
    public static void Main() { 
        double d1 = 150d;
        object ob1 = 1/2; // इंटीजर डिवीजन: 0
        
        Console.WriteLine("Double1 Value = " + d1);
        Console.WriteLine("Object Value = " + ob1);
        Console.WriteLine("Are both the values equal? = " + d1.Equals(ob1));
    } 
}

आउटपुट

Double1 Value = 150
Object Value = 0
Are both the values equal? = False

महत्वपूर्ण विचार

  • फ्लोटिंग-पॉइंट परिशुद्धता: दो डबल मान जो गणितीय रूप से समान होने चाहिए, बाइनरी प्रतिनिधित्व के कारण भिन्न हो सकते हैं।
  • Equals सटीक बिटवाइज समानता की जांच करता है।
  • तुलना के लिए Math.Abs(d1 - d2) < epsilon पैटर्न का उपयोग करें।

सर्वोत्तम अभ्यास

// फ्लोटिंग-पॉइंट तुलना के लिए अनुशंसित दृष्टिकोण
const double EPSILON = 1e-10;
bool AreEqual(double a, double b) {
    return Math.Abs(a - b) < EPSILON;
}

संबंधित मेथड्स

  • Double.CompareTo() - क्रम तुलना (-1, 0, 1)
  • Double == ऑपरेटर - Equals के समान व्यवहार
  • Double.IsNaN() - NaN जांच (NaN == NaN हमेशा false होता है)
  1. - C# में UInt64.CompareTo() मेथड - उदाहरणों के साथ

    C# में UInt64.CompareTo() मेथड वर्तमान इंस्टेंस की तुलना किसी निर्दिष्ट ऑब्जेक्ट या UInt64 मान से करता है और उनके सापेक्ष मानों का संकेत लौटाता है। सिंटैक्स दो ओवरलोड उपलब्ध हैं: public int CompareTo (object val); public int CompareTo (ulong val); पहला सिंटैक्स: val तुलना के लिए एक ऑब्जेक्ट है दूस

  1. - C# में UInt16.Equals मेथड उदाहरण सहित

    C# में UInt16.Equals() मेथड एक मान लौटाता है जो दर्शाता है कि यह इंस्टेंस किसी निर्दिष्ट ऑब्जेक्ट या UInt16 के बराबर है या नहीं। सिंटैक्स निम्नलिखित सिंटैक्स है - public override bool Equals (object ob); public bool Equals (ushort ob); यहां, पहले सिंटैक्स के लिए पैरामीटर ob इस इंस्टेंस से तुलना करन

  1. - C# में UInt16.CompareTo() मेथड उदाहरण सहित

    C# में UInt16.CompareTo() मेथड का उपयोग वर्तमान इंस्टेंस की तुलना एक निर्दिष्ट ऑब्जेक्ट या UInt16 से करने और उनके सापेक्ष मानों का संकेत लौटाने के लिए किया जाता है। सिंटैक्स निम्नलिखित सिंटैक्स है - public int CompareTo (object val); public int CompareTo (ushort val); यहां, पहले सिंटैक्स के लिए मान