दिलचस्प पोस्ट
मैं असेंबली फ़ाइल संस्करण कैसे प्राप्त करूं? एचटीटीपीएस स्क्रैपिंग के लिए जेसूप कुकीज़ मैं कैसे जांचूं अगर एक HTML तत्व jQuery का उपयोग कर खाली है? जब फ़ंक्शन के पास एक विशिष्ट आकार के सरणी पैरामीटर होता है, तो उसे एक सूचक के साथ क्यों बदल दिया जाता है? फ़ोटोशॉप को दो छवियों को एक साथ कैसे मिलाया जाता है? आईओएस में केवल पहली लॉन्च पर स्क्रीन दिखाएं कैसे एक बटन क्लिक पर ListView से वस्तुओं को गतिशील हटायें? nginx – client_max_body_size का कोई प्रभाव नहीं है डुप्लिकेट कुंजी अपडेट पर डालने के समान एआई के लिए "सबसे अच्छा कदम" निर्धारित करने के लिए मैं एक टिक-टैक-टो गेम के लिए किस एल्गोरिथ्म का उपयोग कर सकता हूं? जब फ्लेक्सबॉक्स आइटम कॉलम मोड में लपेटते हैं, कंटेनर इसकी चौड़ाई नहीं बढ़ता मैं अपने नेविगेशन पट्टी में एक सूची वस्तु का संपूर्ण क्षेत्र कैसे बना सकता हूं, क्लिक करने योग्य एक लिंक के रूप में? बाउंड वाइल्डकार्ड और टाइप मापदंडों के बीच अंतर क्या है? मोंगोडीबी या अन्य दस्तावेज़ आधारित डेटाबेस सिस्टम का उपयोग कब किया जाए? मीडियाकोडक और कैमरा: रंगीन स्थान मेल नहीं खाते हैं

पायथन फ्लोट – स्ट्रॉफ फ्लोट विचित्रता

>>> float(str(0.65000000000000002)) 0.65000000000000002 >>> float(str(0.47000000000000003)) 0.46999999999999997 ??? 

यहाँ क्या हो रहा है? मैं स्ट्रिंग के लिए 0.47000000000000003 को कैसे 0.47000000000000003 और परिणामस्वरूप वापस फ्लोट करने के लिए मान?

मैं विंडोज पर पायथन 2.5.4 का इस्तेमाल कर रहा हूँ।

वेब के समाधान से एकत्रित समाधान "पायथन फ्लोट – स्ट्रॉफ फ्लोट विचित्रता"

str(0.47000000000000003) '0.47' और float('0.47') 0.46999999999999997 हो सकता है। यह जिस तरह से चल बिन्दु संख्या का प्रतिनिधित्व करता है (इस विकिपीडिया लेख को देखें) के कारण है

नोट: float(repr(0.47000000000000003)) या eval(repr(0.47000000000000003)) आपको अपेक्षित परिणाम देगा, लेकिन आपको परिशुद्धता की आवश्यकता होने पर दशमलव का उपयोग करना चाहिए।

फ्लोट (और डबल) में अनंत सटीक नहीं है स्वाभाविक रूप से, गोल त्रुटियां तब होती हैं जब आप उन पर काम करते हैं।

यह एक पायथन एफक्यूएफ़ है

समान प्रश्न काफी comp.lang.python में भी नियमित रूप से आता है।

मुझे लगता है कि यह एक सामान्य प्रश्न है क्योंकि अजथन अन्य सभी मामलों में एकदम सही है ;-), हम इसे पूरी तरह से अंकगणित करने की अपेक्षा करते हैं – ठीक उसी तरह जैसे हमें स्कूल में सिखाया गया था। हालांकि, जैसा कि कोई भी संख्यात्मक तरीके कोर्स कर चुका है वह आपको बताएगा, फ़्लोटिंग प्वाइंट नंबर सही से बहुत लंबा रास्ता है।

दशमलव एक अच्छा विकल्प है और यदि आप अधिक गति और अधिक विकल्प चाहते हैं तो जीएमआई बहुत अच्छा है।

इस उदाहरण के द्वारा मुझे लगता है कि जब आप पाइथन में डालते हैं तो यह एक त्रुटि है

  >>> print(int(((48/5.0)-9)*5)) 2 

आसान तरीका है, मैं इस समस्या को इस द्वारा हल करता हूं

  >>> print(int(round(((48/5.0)-9)*5,2))) 3