gpt4 book ai didi

python - python 中的 float 的奇怪问题

转载 作者:太空宇宙 更新时间:2023-11-03 18:18:49 25 4
gpt4 key购买 nike

我无法理解以下内容

if cell_val==10013.32945086 :
print cell_val
print str(cell_val)
print repr(cell_val)

上面的代码片段是for循环的一部分,结果如下所示:

10013.3294509
10013.3294509
10013.329450859999
10013.3294509
10013.3294509
10013.329450859999

在上面的 cell_val 等于 10013.32945086 但实际上持有 10013.3294509正如打印的那样。

谢谢

最佳答案

在函数中使用浮点值时,切勿期望浮点值 100% 相等,也不应用于表示。

您可以使用 double 以获得更好的准确性,否则您必须考虑最大值。依赖的位数(例如 float 大约为 8,不确定它依赖于哪里)。

当检查两个 float 时(或者在函数/计算中使用它后进行相同的检查),请始终检查边距。

关于python - python 中的 float 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24556812/

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