मैं प्रोग्रामिंग के लिए बहुत नया हूं। मेरे पास निम्न कोड है:जब मैं फ्लोट का उपयोग करता हूं तो जावा मुझे एफ जोड़ने के लिए मजबूर क्यों करता है?
float f = 18.45f;
यह ठीक काम करता है। अगर मैं बदल कि करने के लिए:
float f = 18.45;
जावा त्रुटि के रूप में यह कह:
error: possible loss of precision
लेकिन double
के संदर्भ में अपने वैकल्पिक। लेकिन long
में फिर से मुझे एक ही समस्या का सामना करना पड़ रहा है।
जावा मुझे ऐसा करने के लिए क्यों मजबूर करता है, लेकिन double
के मामले में नहीं?
'डबल' फ़्लोटिंग पॉइंट नंबरों के लिए डिफ़ॉल्ट प्रकार है। '18.45' निस्संदेह एक 'डबल' – toniedzwiedz
एक बड़ी समस्या यह है कि आप एक फ्लोट का उपयोग क्यों कर रहे हैं जब डबल बेहतर होता है क्योंकि यह अधिक सटीक है (जैसा कि जावा आपको चेतावनी दे रहा है)? एक फ्लोट का उपयोग करने का एकमात्र समय तब होता है जब एक विधि पैरामीटर को उचित अधिभार के लिए फ़्लोट की आवश्यकता होती है। –
ऐसा इसलिए है कि लोगों को अक्सर पूछताछ करने के लिए स्टैक ओवरफ़्लो में नहीं आना चाहिए कि जावा में फ़्लोट गुणा क्यों टूटा हुआ है। –