2010-12-30 11 views

उत्तर

0
if (Math.Abs(doubleNumber) > Math.Pow(1,-9)) //doubleNumber not zero. 
6

आप एक एप्सिलॉन है कि समस्या आप को हल करते हैं के साथ संगत है सेट करना होगा। उसके बाद, आप की तरह

bool DoubleEquals(double value1, double value2) 
{ 
    return Math.Abs(value1 - value2) < epsilon; 
} 

संपादित
कुछ इस्तेमाल कर सकते हैं, तो एक डबल शून्य नहीं है निर्धारित करने के लिए जब से तुम एक तरह से पूछा, आप लेखन से इस सुविधा का उपयोग कर सकते हैं:

if (!DoubleEquals(value, 0)) { /* do your not zero things */ } 

मुझे लगा यह विधि बेहतर थी क्योंकि यह अधिक सामान्य उद्देश्य है।

+0

यदि (! डबल। एक्वाल्स (मान, 0)) यह सही है मैंने इसे भी परीक्षण किया .. – Mahantesh

3

हाय इस बात पर निर्भर करता है कि आप किस प्रकार की गणना कर रहे हैं। कभी-कभी आप एक बहुत छोटी संख्या जो 0 के करीब है मिलता है लेकिन काफी नहीं

मैं आमतौर पर

if (Math.Abs(MyNumber) < 1e-10) 

आशा है कि यह मदद करता है

+0

opps। मुझे लगता है कि 1e-10 मेरी सी ++ बात कर रहा है। सी # गणित होगा। पाउ (1, -10) जैसा कि गनर ने कहा था – Leon

0

इतना डबल की जाँच करने के लिए पर्याप्त है शून्य या नहीं

है
 double d = 0.00000005; 
     bool l = d.Equals(0); 
संबंधित मुद्दे

 संबंधित मुद्दे