2012-10-26 14 views
18

Czy w Pythonie istnieje funkcja, która pozwala mi zaokrąglić do najbliższej wielokrotności liczby całkowitej?Zaokrąglanie liczb całkowitych do najbliższej wielokrotności

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

I sumiennie spojrzał na SO i nie znalazł nic związanego z zaokrągleniem dół do najbliższej bazy. Pamiętaj o tym, zanim zamieścisz linki do powiązanych pytań lub oznacz jako duplikat.

+0

Jeśli znalazłeś coś do zaokrąglenia, dlaczego nie użyć tego i odjąć jeden, jeśli wynik i oryginalna wartość są nierówne? –

+2

Mogłem zrobić to na milion sposobów. Chciałem funkcji Pythona, aby uniknąć zaśmiecenia mojego kodu z definicjami, ale domyślam się, że nic na to nie ma, jest zawarte w Pythonie, a teraz wiem. Odpowiedź IG wygląda jednak całkiem dobrze. –

+0

Prawdopodobny duplikat [rundy do 5 (lub innej liczby) w pythonie] (https://stackoverflow.com/questions/2272149/round-to-5-or-other-number-in-python) –

Odpowiedz

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 
Powiązane problemy