python - 简单浮点值的问题
问题描述
我们有这三个值:
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 模块,你怎么能避免这种情况呢?
解决方案
推荐阅读
- mongodb - 使用 docker 运行 mongo db 并使用 robo 3T 访问它
- python - Pandas csv 阅读器创建 NaN 索引
- javascript - 需要示例代码来调用 API
- compilation - 在 LL(1) 解析表中有多个条目的真正含义是什么?
- python - 如何在python中绑定按下按钮并按下回车键?
- cassandra - Cassandra 从 pre-1.1 升级导致迁移 sstables 时出现异常
- angular - 如何在生产模式下调试 Angular 2 Typescript 应用程序?
- mongodb - Process Historian 的 MongoDB 时间序列:通过 _id 字段的不同字节进行查询
- windows - 根据文件名将文件上传到某个url
- python - 检查另一个列表中的字符串列表中是否存在字符串字符?