2015-08-18 5 views

ответ

3

Вы можете использовать decimal модуль, чтобы избежать точности с плавающей точкой проблема:

>>> import decimal 
>>> decimal.Decimal('54.10') % decimal.Decimal('0.10') 
Decimal('0.00') 
+0

Спасибо !!! Я не знал, что это проблема с работой плавающих точек. – puzzler

+0

На самом деле, поскольку Decimal так сильно замедлял программу, я решил просто проверить последнюю цифру в строковой форме: str (54.10) [- 1] == '0' – puzzler

2

Испытанный и истинный метод здесь, чтобы умножить свой делитель и дивиденд на степень 10. Эффективно, 54,10 становится 541 и 0.10 становится равным 1. Затем вы можете использовать стандартный модуль или потолок и пол для достижения того, что вам нужно.

Смежные вопросы