2012-06-23 14 views
9

रिटर्न सी # में मैं इस है:सी # गणित.क्योंकि (डबल) गलत मान

double Cos = Math.Cos(32.471192290848492); //Equals 0.49299653250335213 

लेकिन मैं इस

(0.745476752872050588) 

प्राप्त यह गलत क्यों लौटा रहा है जब मैं एक कैलकुलेटर में ऐसा मूल्य?

+1

यह http://stackoverflow.com/q/1564207/1071834 का डुप्लिकेट है। शायद इन्हें विलय किया जाना चाहिए और भावी डुप्लिकेट से बचने के लिए सभी प्रमुख ट्रिगर संचालन को कवर करने के लिए प्रश्न और उत्तर विस्तारित किया गया है। – dodexahedron

+0

संभावित डुप्लिकेट [सी # - गणित क्यों है। अतान (1)! = 45 के करीब कुछ भी] (https://stackoverflow.com/questions/1564207/c-sharp-why-is-math-atan1-anything-ear- 45) –

उत्तर

5

आप शायद रेडियंस के साथ डिग्री भ्रमित कर रहे हैं। अधिकांश कैलकुलेटर डिग्री का उपयोग करते हैं, जबकि अधिकांश प्रोग्रामिंग भाषाएं रेडियंस का उपयोग करने के लिए सेट की जाती हैं।

14

Math.Cos रेडियंस में कोण की अपेक्षा कर रहा है। मुझे संदेह है कि आपका कैलक्यूलेटर डिग्री में काम कर रहा है।

आप रेडियंस में डिग्री में मूल्य में कनवर्ट करके एक ही जवाब पाने के लिए सक्षम होना चाहिए:

double angleInDegrees = 32.471192290848492; 
double cos = Math.Cos(angleInDegrees * (Math.PI/180.0)); 
+0

ऐसा लगता है कि यह काम नहीं करता है। मुझे सी # में 0.4 9 मिलते हैं। और मुझे विंडोज कैलक्यूलेटर में 0.84 मिलते हैं। – Matt

+0

@ मैट फिर से प्रयास करें, यह समस्या है (और रीड का कोड काम करता है।) – dlev

+0

@Matt यह अपेक्षित 0.84 लौटाता है। कोड कॉपी करें। – SimpleVar

4

Math.Cos क्योंकि रेडियंस में काम करता है और डिग्री में अपने कैलकुलेटर।

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