我试图测试float
即(54.10
)是否可被0.10
整除。 54.10 % .10
返回.10
而不是0
,为什么会这样,我怎样才能让它按照我的意愿去做?
答案 0 :(得分:3)
您可以使用decimal
模块来避免浮点精度问题:
>>> import decimal
>>> decimal.Decimal('54.10') % decimal.Decimal('0.10')
Decimal('0.00')
答案 1 :(得分:3)
这里经过验证的方法是将除数和被除数乘以10的幂。有效地,54.10变为541,0.10变为1.然后你可以使用标准模数或天花板和地板来达到你需要的效果。