से अधिक रखती है निम्नलिखित जावा कोड पर विचार करें से एक डबल पार्स:एक स्ट्रिंग जो एक मूल्य Double.MaxValue
String toParse = "1.7976931348623157E308"; //max value of a double in java
double parsed = Double.parseDouble(toParse);
System.out.println(parsed);
1.7976931348623157E308
सब कुछ का उल्लेख मूल्य के लिए समझ में आता है और एक ही सही उत्पादन हो जाता है।
अब, यदि कोई 1.7976931348623158E308
को पार्स करने का प्रयास करता है (E
से पहले अंतिम अंक बढ़ता है) तो आपको अभी भी कंसोल में मुद्रित अधिकतम मूल्य मिलता है!
1.7976931348623159E308
को पार्स करने का प्रयास करने के बाद (फिर से अंतिम अंक बढ़ गया) और अधिक से अधिक Infinity
प्राप्त हो जाता है।
संबंधित नकारात्मक मानों के लिए समान व्यवहार।
... 8E308
... 7E308
पर Infinity
क्यों नहीं है?
क्या यह किसी भी आवेदन के लिए कोई प्रासंगिकता है? – AlexWien
मुझे लगता है कि आप किनारे के मामलों के साथ मजाक कर रहे हैं। क्या आपने सोर्स कोड देखा है? –
@AlexWien बस "दुर्घटना" द्वारा इस पर ठोकर खाई, अब मैं उत्सुक हूं –