округление целых чисел до ближайших нескольких

18

Есть ли функция в Python, которая позволяет мне округлить до ближайшего кратного целого числа?

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

Я добросовестно смотрел на SO и не нашел ничего, связанного с округлением вниз до ближайшей базы. Помните об этом, прежде чем размещать ссылки на связанные вопросы или помечать как дубликаты.

    
задан The Unfun Cat 26.10.2012 в 09:32
источник
  • Если вы нашли что-то округленное, почему бы не использовать это и не вычесть его, если результат и исходное значение не равны? –  Jonas Wielicki 26.10.2012 в 09:33
  • Я мог бы сделать это миллионным способом. Я хотел, чтобы функция Python не засоряла мой код с помощью определений, но я думаю, что ничего не нужно делать в Python, и теперь я знаю. Ответ IG выглядит довольно неплохо. –  The Unfun Cat 26.10.2012 в 09:39
  • Возможный дубликат раунда до 5 (или другого номера) в python –  Cristian Ciupitu 23.09.2017 в 07:53

1 ответ

47
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
    
ответ дан inspectorG4dget 26.10.2012 в 09:33
источник