जावा में फ्लोट क्या है?


102

मैंने यह कोड लिखा है:

float b = 3.6;

और मुझे यह मिलता है:

त्रुटि: अनारक्षित संकलन समस्या: 
    मिसमैच टाइप करें: डबल से फ्लोट में परिवर्तित नहीं हो सकता

क्यों? की परिभाषा क्या है float?



1
@ स्नेफ़ेल इस सवाल का डुप्लिकेट नहीं है। यह प्रश्न पूछता है कि यह संकलन क्यों नहीं किया गया (जिसका उत्तर 'आपको fशाब्दिक अर्थ में जोड़ना होगा '), जबकि दूसरा प्रश्न पूछता है कि आपको क्यों जोड़ना चाहिए f। हालांकि वे संबंधित हैं, यह कोई डुप्लिकेट नहीं है।
मार्क रोटेवेल

Meta.stackexchange.com/questions/217401/… देखें । जुड़े हुए प्रश्न के उत्तर इस प्रश्न के उत्तर हैं।
स्नेफेल

जवाबों:


180

जावा में, जब आप एक दशमलव संख्या टाइप करते हैं 3.6, तो इसकी व्याख्या एक के रूप में की जाती है doubledoubleएक 64-बिट परिशुद्धता IEEE 754 फ़्लोटिंग पॉइंट है, जबकि float32-बिट सटीक IEEE 754 फ़्लोटिंग पॉइंट है। के रूप में एक floatकी तुलना में कम सटीक है double, रूपांतरण निहित नहीं किया जा सकता है।

यदि आप एक फ्लोट बनाना चाहते हैं, तो आपको अपना नंबर f(यानी:) के साथ समाप्त करना चाहिए 3.6f

अधिक स्पष्टीकरण के लिए, जावा ट्यूटोरियल के आदिम डेटा प्रकार की परिभाषा देखें ।


40

इसे बनाओ

float b= 3.6f;

फ्लोटिंग-पॉइंट शाब्दिक एक प्रकार का फ्लोट है यदि इसे ASCII अक्षर F या f के साथ प्रत्यय दिया गया है; अन्यथा इसका प्रकार दोहरा है और यह वैकल्पिक रूप से ASCII अक्षर D या d के साथ प्रत्यय लगा सकता है


क्या यह जांचने का कोई तरीका है कि क्या एक स्ट्रिंग में केवल फ्लोट मूल्य है?
मास्टरजॉ

13

बात यह है कि दशमलव संख्या दुगुनी हो जाती है। और चूंकि डबल फ्लोट में फिट नहीं होता है, इसलिए आपको स्पष्ट रूप से बताना होगा कि आप जानबूझकर फ्लोट को परिभाषित करते हैं। तो साथ चलें:

float b = 3.6f;

8

जावा में, जैसे मान:

  1. 8.5
  2. 3.9
  3. (और इसी तरह..)

के रूप में माना जाता है डबल और न नाव

आप समस्या को हल करने के लिए कलाकारों का प्रदर्शन भी कर सकते हैं:

float b = (float) 3.5;

एक और समाधान:

float b = 3.5f;

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.