如何测试一个数是否能被小于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。然后您可以使用标准模数或上限和下限来实现您需要的结果。
我正在尝试测试 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。然后您可以使用标准模数或上限和下限来实现您需要的结果。