等效于Python Decimal的isclose方法



我试图比较Python中的两个小数,其容差为0.01。当使用数学isclose时,由于浮点不准确,我收到False。例如:

d = Decimal('123.12')
d1 = Decimal('123.11')
print(isclose(d,d1,abs_tol=0.01))

将打印出False。我知道原因,我只是想知道是否有一个好的方法来比较Python中的小数。

Decimal类实现了许多方法,使用这些方法可以很容易地定义比较,如下所示:

abs(d - d1) <= Decimal('0.01')

相关内容

最新更新