如何测试一个数是否能被小于1的小数整除? (54.10 % .10)

how to test if a number is divisible by a decimal less than 1? (54.10 % .10)

我正在尝试测试 float 即 (54.10) 是否可以被 0.10 整除。 54.10 % .10 returns .10 而不是 0,这是为什么,我怎样才能让它做我想做的事?

您可以使用decimal模块来避免浮点精度问题:

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

此处行之有效的方法是将除数和被除数乘以 10 的幂。实际上,54.10 变为 541,0.10 变为 1。然后您可以使用标准模数或上限和下限来实现您需要的结果。