आपको संभवतः अपने दशमलव मानों को 100 से बढ़ाना चाहिए, और पूरे सेंट में सभी मौद्रिक मूल्यों का प्रतिनिधित्व करना चाहिए। यह फ्लोटिंग-पॉइंट लॉजिक और अंकगणित की समस्याओं से बचने के लिए है । जावास्क्रिप्ट में कोई दशमलव डेटा प्रकार नहीं है - केवल संख्यात्मक डेटा प्रकार फ्लोटिंग-पॉइंट है। इसलिए आमतौर पर डॉलर के 2550
बजाय पैसे को संभालने की सिफारिश की जाती है 25.50
।
जावास्क्रिप्ट में विचार करें:
var result = 1.0 + 2.0; // (result === 3.0) returns true
परंतु:
var result = 0.1 + 0.2; // (result === 0.3) returns false
अभिव्यक्ति 0.1 + 0.2 === 0.3
लौटती है false
, लेकिन फ़्लोटिंग-पॉइंट में सौभाग्य से पूर्णांक अंकगणित सटीक है, इसलिए दशमलव प्रतिनिधित्व त्रुटियों को 1 स्केलिंग से बचा जा सकता है ।
ध्यान दें कि जब वास्तविक संख्याओं का सेट अनंत होता है, तो उनमें से केवल एक परिमित संख्या (18,437,736,874,454,810,627) सटीक रूप से जावास्क्रिप्ट फ्लोटिंग-पॉइंट प्रारूप द्वारा दर्शाई जा सकती है। इसलिए अन्य नंबरों का प्रतिनिधित्व वास्तविक संख्या 2 का एक अनुमान होगा ।
1 डगलस क्रॉफोर्ड: जावास्क्रिप्ट: द गुड पार्ट्स : अपेंडिक्स ए - अव्वल पार्ट्स (पृष्ठ 105) ।
2 डेविड फलागन: जावास्क्रिप्ट: द डेफिनिटिव गाइड, चौथा संस्करण : 3.1.3 फ्लोटिंग-पॉइंट लिटरल्स (पृष्ठ 31) ।