round() फ़ंक्शन के लिए दस्तावेज़ यह बताता है कि आप इसे एक संख्या पास करते हैं, और दशमलव को दशमलव के चारों ओर स्थित करते हैं। इस प्रकार यह इस करना चाहिए:राउंड() पाइथन में ठीक से गोलाकार नहीं लग रहा है
n = 5.59
round(n, 1) # 5.6
लेकिन, वास्तविकता में, अच्छे पुराने फ्लोटिंग बिंदु weirdness में ढोंगी और आपको मिलता है:
5.5999999999999996
यूआई के प्रयोजनों के लिए, मैं 5.6
प्रदर्शित करने के लिए की जरूरत है। मैंने इंटरनेट के चारों ओर पोक किया और कुछ documentation पाया कि यह पायथन के कार्यान्वयन पर निर्भर है। दुर्भाग्यवश, यह मेरी विंडोज़ देव मशीन और प्रत्येक लिनक्स सर्वर पर मैंने कोशिश की है। See here also।
अपनी खुद की राउंड लाइब्रेरी बनाने का छोटा, क्या इसके आसपास कोई रास्ता है?
मैं अजगर 2.7.11 दौर (5.59) के साथ इस की कोशिश की और यह के रूप में परिणाम दे रहा है 5.6 दोनों विंडोज़ और लिनक्स x86 64 बिट मशीन, साइथन में? (दस्तावेज लिंक का उल्लेख अब बदला गया है) –
जहां यह वास्तव में सही ढंग से काम नहीं करता है 'राउंड (5.55, 1) = 5.5' है। – Dmitry