Python中浮点上的余数

Python中浮点上的余数,python,floating-point,modulo,Python,Floating Point,Modulo,我只想用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是一个整数。 由于前面的行为,我不知道如何设置可能的公差来确定余

我只想用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旁边。 有什么帮助吗?

如前所述,请使用
decimal
模块:

>>> 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')

问题本质上是由于系统中浮点数的表示,您可以在Internet上的任何地方以及链接的响应中阅读有关浮点数的内容。

Short:使用
decimal
模块。长: