2012-10-26 71 views
18

Python中是否有一個函數允許我舍入到最接近的整數倍數?將整數舍入到最接近的倍數

round_down(19,10)=10 
round_down(19,5)=15 
round_down(10,10)=10 

我認真看了SO並沒有發現任何有關四捨五入到最近的基地。在發佈相關問題的鏈接或標記爲重複之前,請記住這一點。

+0

如果您發現某些東西需要四捨五入,爲什麼不使用它並在結果和原始值不相等的情況下減去一個? –

+2

我本來可以做到一百萬種方法。我想要一個Python函數來避免亂拋垃圾的代碼,但我猜Python中並沒有包含任何內容,現在我知道了。 IG的答案看起來不錯。 –

+0

[在Python中舍入爲5(或其他數字)]的可能重複](https://stackoverflow.com/questions/2272149/round-to-5-or-other-number-in-python) –

回答

44
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 
相關問題