我只是想给大家展示一下python中的运算结果。我无法解释。
>>> 1.0%1.0
0.0 (OK)
>>> 1.0%0.1
0.09999....
>>> 1.0%0.001
0.00999....
>>> 1.0 %0.0001
0.000999...
... 等等。我需要一些东西让我能够理解 'x%y' 的余数是否为 0.0,即 'y' 恰好整除 'x' N 次,其中 N 是整数。
由于之前的行为,我不知道如何设置可能的容差来确定余数是否接近 0。
有什么帮助吗?
As 这个(长)回应说,使用decimal
module:
>>> from decimal import Decimal
>>> Decimal('3.5') % Decimal('0.1')
Decimal('0.0')
>>> print(Decimal('3.5') % Decimal('0.1'))
0.0
>>> (Decimal(7)/2) % (Decimal(1)/10)
Decimal('0.0')
问题本质上是由于系统中浮点数的表示造成的,您可以在互联网上以及链接的响应中随处阅读有关该问题的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)