gpt4 book ai didi

python - 为什么 1//0.05 在 python 中结果为 19.0?

转载 作者:太空狗 更新时间:2023-10-30 01:57:50 25 4
gpt4 key购买 nike

我是 python 的新手,在我的 mac 上使用 Python3.5.1 时发现一个令人困惑的结果,我只是在我的终端中运行这个命令

    1 // 0.05

但是,它在我的屏幕上打印了 19.0。从我的角度来看,它应该是 20。有人可以解释这里发生了什么吗?我已经知道 '//' 类似于 math.floor() 函数。但我仍然无法理解这一点。

最佳答案

因为 Python 浮点字面值 0.05 表示一个比数学值 0.05 稍大的数字。

>>> '%.60f' % 0.05
'0.050000000000000002775557561562891351059079170227050781250000'

//是floor除法,意思是结果是最大整数n使得n乘以除数小于等于到股息。由于 20 次 0.05000000000000000277555756156289135105907917022705078125 大于 1,这意味着正确的结果是 19。

至于 为什么 Python 文字 0.05 不代表数字 0.05,以及许多其他关于 float 的事情,请参阅 What Every Computer Scientist Should Know About Floating-Point Arithmetic

关于python - 为什么 1//0.05 在 python 中结果为 19.0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35897621/

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