gpt4 book ai didi

python - 在python中比较 `float`和 `float64`

转载 作者:太空狗 更新时间:2023-10-29 22:01:02 32 4
gpt4 key购买 nike

我必须比较两个数字。其中一个来自 regulat python 代码,另一个来自 numpy。调试器显示它们具有相同的值“29.0”,但第一个类型是 float,第二个类型是 float64,所以 a == ba - b == 0False。我该如何处理?有什么办法强制常规 python 变量为 float64 或 numpy 默认使用 float

更新:最后所有这些值都来自写入 29.0 的同一个文件,所以我认为数值没有差异。

最佳答案

在任何编程语言中,您都不应该将 float 与相等性进行比较,因为您永远无法知道它们是否完全相等。相反,您应该测试它们的差异是否小于公差:

if abs(a - b) < 1e-10

所以这个问题与 floatfloat64 之间的区别无关(Python 会自动转换它们),而是比较 float 是否相等的基本问题.

另见 What's wrong with using == to compare floats in Java?

关于python - 在python中比较 `float`和 `float64`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18106975/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com