मैं नहीं समझ सकता क्यों यहनाव प्रकार परिशुद्धता
float f = Integer.MAX_VALUE;
System.out.println(Integer.MAX_VALUE);
System.out.println((int)f);
उसी तर्ज पैदा करता है के बारे में,
साथ ही ऐसा क्यों करता हैFloat f2 = (float) Integer.MAX_VALUE;
System.out.println(Integer.MAX_VALUE);
System.out.println(f2.intValue());
मेरा मतलब है चल के लिए, अपूर्णांश लंबाई
बिंदु संख्या 2^23-1
है। यह पूर्णांक का max_value रखने का प्रबंधन कैसे करता है, जो 2^31 - 1
है?
बीटीडब्ल्यू 'फ्लोट' का उपयोग न करें, आप इससे बच सकते हैं। 'डबल' आपको सटीकता के आधा ट्रिलियन गुना देता है। कुछ सुझाव देते हैं कि आपको BigDecimal (हालांकि मेरी वरीयता नहीं) –
का उपयोग करना चाहिए, यह नमूना सिर्फ नमूना के लिए है। असली जीवन कोड नहीं है। – dhblah
सच है, आप Long.MAX_VALUE और डबल के साथ समान तुलना कर सकते हैं। –