Python中是否有一个函数允许我向下舍入到整数的最接近的倍数?
round_down(19,10)=10
round_down(19,5)=15
round_down(10,10)=10
我认真地查看了SO,发现没有任何内容可以将 down 四舍五入到最近的基地。在发布相关问题的链接或标记为重复之前,请记住这一点。
答案 0 :(得分:57)
def round_down(num, divisor):
return num - (num%divisor)
In [2]: round_down(19,10)
Out[2]: 10
In [3]: round_down(19,5)
Out[3]: 15
In [4]: round_down(10,10)
Out[4]: 10
答案 1 :(得分:1)
在相同情况下,我最终使用floor
函数执行以下操作。就我而言,我试图将数字四舍五入到最接近的1000。
from math import floor
def round_down(num, divisor):
return floor(num / divisor) * divisor
如果您还想定义一个对应的总是四舍五入的函数,可以使用ceil
做类似的事情
答案 2 :(得分:0)
这可能不是最有效的解决方案,但是
round_down(m, n) = m // n * n
非常简单。