जबजावास्क्रिप्ट parseInt रूपांतरण गाड़ी
console.log(parseInt("9658921879781125"))
9658921879781124
के एक मूल्य देता है चल रहा है।
ऐसा क्यों है?
जबजावास्क्रिप्ट parseInt रूपांतरण गाड़ी
console.log(parseInt("9658921879781125"))
9658921879781124
के एक मूल्य देता है चल रहा है।
ऐसा क्यों है?
होगा ऐसा इसलिए है क्योंकि
9658921879781125 > Number.MAX_SAFE_INTEGER // true
तो यह असुरक्षित है की तुलना में Number.MAX_SAFE_INTEGER
MAX_SAFE_INTEGER
लगातार अधिक से अधिक संख्या के साथ काम करने की कोशिश करने के9007199254740991
के एक मूल्य (9,007,199,254,740,991 या है ~ 9 क्वाड्रिलियन)। (2 - - 1) और 2 - 1.उस नंबर के पीछे तर्क है कि जावास्क्रिप्ट आईईईई 754 में निर्दिष्ट है और केवल सुरक्षित रूप से बीच के अंक का प्रतिनिधित्व कर सकते के रूप में डबल परिशुद्धता फ्लोटिंग प्वाइंट प्रारूप संख्या का उपयोग करता है इस संदर्भ में सुरक्षित पूर्णांक का प्रतिनिधित्व करने की क्षमता और सही ढंग से उनकी तुलना करने की क्षमता को संदर्भित करता है।
http://2ality.com/2012/07/large-integers.html –
लेकिन यह 9658921879781126 ठीक से –
देखें जी Petrioli के जवाब में परिवर्तित करने में सक्षम है। यह असुरक्षित है, इसका मतलब यह नहीं है कि यह हर बार असफल हो जाएगा। – NikxDa