8.833333333339(或
8.833333333333334的结果
106.00/12)正确舍入为小数点后两位
8.83。数学上,这听起来像您想要的是天花板功能。Python
math模块中的一个名为
ceil:
import mathv = 8.8333333333333339print(math.ceil(v*100)/100) # -> 8.84
地板和天花板功能通常分别将实数映射到最大的前一个或最小的后整数,该整数具有十进制小数位-因此将它们用于2个小数位,首先将数字乘以10
2(或100)即可将小数位数移位点,然后除以它以进行补偿。
如果
math由于某种原因不想使用该模块,则可以使用我刚刚编写的这个(经过最低测试的)实现:
def ceiling(x): n = int(x) return n if n-1 < x <= n else n+1
_这如何适用于链接的[
贷款和付款计算器问题](http://openbookproject.net/pybiblio/practice/wilson/loan.php)_
从样本输出中可以看出,他们对每月付款进行了 四舍五入 ,这就是许多人所说的上限功能的效果。这意味着每个月略多于1 /
12的总量被支付。这样一来,末期付款就比平时少了一点,剩下的未付余额仅为
8.76。
使用正常的四舍五入产生每月付款
8.83和稍高的最终付款同样有效
8.87。但是,在现实世界中,人们通常不希望增加自己的付款,因此对每笔付款进行四舍五入是常见的做法-
还会更快地将钱退还给贷方。



