首页 > 解决方案 > 简单浮点值的问题

问题描述

我们有这三个值:
x = 7.68
y = 7.775
z = 7.87

恰好yx = zy = 0.095,但Python坚持分配以下值:
yx = 0.09500000000000064
zy = 0.094999999999999975

这是一个微不足道的差异,但足以返回错误的结果,例如:
yx == zy 返回 False,这是不正确的,比较应该返回 True (0.095 == 0.095)

事实是,这些类型的结果向我抛出了一个比较例程,并且该函数为我返回了错误的结果。如果可能的话,不使用“外部”拼写错误的 sympy 模块,你怎么能避免这种情况呢?

标签: pythontypesfloating-point

解决方案


推荐阅读