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»