Weird Javascript Behaviour: Floating Point Addition giving the wrong answer -


संभव डुप्लिकेट:

यह वास्तव में बेवकूफ लगता है, लेकिन जब यह चल रहा है, तो यह प्रदर्शित होगा

7.300000000000001 के बजाय 7.3

  स्क्रिप्ट भाषा = "जावास्क्रिप्ट" & gt; फ़ंक्शन बटनक्लाइट () {var mySum = 1.1 + 1.1 + 1.1 + 0 + 4; चेतावनी (mySum); } & Lt; / script & gt;  

इसका कारण क्या होगा? मेरे पास एक सुंदर बुनियादी aspx पेज पर जावास्क्रिप्ट है हम वास्तव में फार्म आदानों से मूल्य जोड़ने के लिए जावास्क्रिप्ट का प्रयोग कर रहे हैं, यह संख्याओं के साथ एक उदाहरण है जो इसे तोड़ रहे थे, कई अन्य हैं ..

कोई भी विचार यह क्या कर सकता है?!?

यह कैसे करना है कि दशमलव मानों को बाइनरी फ्लोटिंग प्वाइंट नंबर में कैसे परिवर्तित किया गया है। 1/10 द्विआधारी में दोहराए जाने वाले दशमलव में बदल जाता है, इसलिए संख्या पूरी तरह से प्रदर्शित नहीं होती है, और दोहराए जाने वाले कार्य में त्रुटि का पर्दाफाश हो सकता है।

जावास्क्रिप्ट आईईई -754 फ्लोटिंग प्वाइंट नंबर का उपयोग रिकॉर्ड के लिए करता है। कुछ अन्य भाषाओं में एक ही समस्या है।

इससे निपटने के लिए कैसे? आपके मामले में, शायद।


Comments