继续使用Python中的Float

时间:2013-12-29 21:05:54

标签: 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是一个整数。 由于先前的行为,我不知道如何设置可能的容差来确定余数是否接近0。 有什么帮助吗?

1 个答案:

答案 0 :(得分:6)

this (long) response所述,请使用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')

问题主要是由于系统中浮动的表示,你可以在互联网上的所有地方以及链接的响应中阅读有关它的内容。