我正试图测试float
即(54.10
)是否可被0.10
整除。54.10 % .10
返回.10
而不是0
,为什么会这样,我怎么能让它做我想做的事?
这里行之有效的方法是将除数和被除数乘以10的幂。实际上,54.10变成了541,0.10变成了1。然后,您可以使用标准模或天花板和地板来实现您需要的。
您可以使用decimal
模块来避免浮点精度问题:
>>> import decimal
>>> decimal.Decimal('54.10') % decimal.Decimal('0.10')
Decimal('0.00')