8.833333333339
(या 8.833333333333334
, का परिणाम 106.00/12
) ठीक से दो दशमलव स्थानों के लिए गोल है 8.83
। गणितीय रूप से यह लगता है कि आप जो चाहते हैं वह एक छत फ़ंक्शन है । पायथन के math
मॉड्यूल का नाम है ceil
:
import math
v = 8.8333333333333339
print(math.ceil(v*100)/100)
क्रमशः, फ़्लोर और सीलिंग फ़ंक्शंस आमतौर पर एक वास्तविक संख्या को सबसे बड़े पिछले या सबसे छोटे पूर्णांक का अनुसरण करते हैं, जिसमें शून्य दशमलव स्थान होते हैं - इसलिए उन्हें 2 दशमलव स्थानों के लिए उपयोग करने के लिए दशमलव को स्थानांतरित करने के लिए संख्या को पहले 10 2 (या 100) से गुणा किया जाता है। बिंदु और उसके बाद क्षतिपूर्ति करने के लिए इसके द्वारा विभाजित किया जाता है।
यदि आप math
किसी कारण से मॉड्यूल का उपयोग नहीं करना चाहते हैं , तो आप इसे (न्यूनतम परीक्षण किए गए) कार्यान्वयन का उपयोग कर सकते हैं जो मैंने अभी लिखा है:
def ceiling(x):
n = int(x)
return n if n-1 < x <= n else n+1
नमूना उत्पादन से ऐसा लगता है कि वे को गिरफ्तार मासिक भुगतान, जो कई कॉल छत समारोह का असर है। इस का मतलब है एक छोटे से हर महीने अधिक है कि 1 / 12 कुल राशि का भुगतान किया जा रहा है। इसने अंतिम भुगतान को सामान्य से थोड़ा छोटा कर दिया - केवल शेष बकाया भुगतान छोड़ दिया 8.76
।
यह समान रूप से मान्य होता है कि मासिक भुगतान के लिए सामान्य राउंडिंग का उपयोग किया जाए 8.83
और थोड़ा अधिक भुगतान किया जाए 8.87
। हालांकि, वास्तविक दुनिया में आमतौर पर लोग अपने भुगतान को बढ़ाना पसंद नहीं करते हैं, इसलिए प्रत्येक भुगतान को गोल करना आम बात है - यह ऋणदाता को अधिक तेज़ी से पैसा भी लौटाता है।