python中float的比较方式

2024-11-02 22:38:18
推荐回答(3个)
回答1:

python比较浮点数相等,由于存在精度的关系,要用math模块的isclose方法
两数相差小于1e-9的话,则认为两个浮点数相等。
math.isclose(a, b, rel_tol=1e-9)
>>> import math
>>> math.isclose(1.0, 1.0000000001)
True
精度可以修改:
>>> math.isclose(1.0, 1.0000000001, rel_tol=1e-10)
False

回答2:

浮点数不精确,如果想要使用精确小数,请用decimal
如果要比较浮点数a和b
-0.00000001 < a - b < 0.00000001这样比较

回答3:

请把代码贴全