Извиняюсь, если об этом спрашивали раньше, я не могу найти ответ в отношении произвольных кратных.
Мне бы хотелось, чтобы функция округляла число на кратные.
Например, 17,4 будет округлено с кратностью от 5 до 15, где 17,6 приведут к 20.
Вот что я придумал:
def value_2_rounded_multiple(value, multiple=1):
return round(value / multiple) * multiple
Это разумно, или есть лучший подход?
Это некоторый вспомогательный код для тестирования:
multiple = 5
shift = -0.1
val_ = (multiple / 2) + shift + 3 * multiple
print("{} becomes {}".format(val_, value_2_rounded_multiple(val_, multiple=multiple)))