Python вокруг плавания вниз до ближайшего 0,05 или во кратной другой поплавокPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python вокруг плавания вниз до ближайшего 0,05 или во кратной другой поплавок

Сообщение Anonymous »

Я хочу подражать этой функции. Я хочу окружить номер с плавающей запятой до ближайших кратных 0,05 (или, как правило, к ближайшему кратному всему). < /P>
Я хочу это: < /p>

Код: Выделить всё

>>> round_nearest(1.29, 0.05)
1.25

>>> round_nearest(1.30, 0.05)
1.30
< /code>
Я могу сделать это: < /p>
import math

def round_nearest(n, r):
return n - math.fmod(n, r)

>>> round_nearest(1.27, 0.05)
1.25  # Correct!

>>> round_nearest(1.30, 0.05)
1.25  # Incorrect! Correct would be 1.30.
< /code>
Неправильный ответ выше, по -видимому, из -за округления с плавающей запятой. Я мог бы поместить некоторую специальную проверку, чтобы увидеть, является ли N 
«достаточно близко» для кратных r и не сделать вычитание, и это, вероятно, сработает, но есть ли лучший способ? Или эта стратегия является лучшим вариантом?

Подробнее здесь: https://stackoverflow.com/questions/284 ... ther-float
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»