gpt4 book ai didi

python - Python 中的舍入是如何工作的?

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

我对 Python 中舍入的工作原理有点困惑。
有人可以解释为什么 Python 会这样吗?

例子:

>>> round(0.05,1) # this makes sense
0.1
>>> round(0.15,1) # this doesn't make sense! Why is the result not 0.2?
0.1

同样适用于:

>>> round(0.25,1) # this makes sense
0.3
>>> round(0.35,1) # in my opinion, should be 0.4 but evaluates to 0.3
0.3

编辑: 所以一般来说,Python 有可能向下取整而不是向上取整。所以我是否理解唯一可能发生的“异常”事情是 Python 向下舍入?还是由于它的存储方式,它也可能会“异常”地被收集起来? (我还没有发现Python在我期望它向下舍入的时候向上舍入的情况)

最佳答案

这实际上是设计使然。来自 Pythons 的 documentation :

The behavior of round() for floats can be surprising: for example, round(2.675, 2) gives 2.67 instead of the expected 2.68. This is not a bug: it’s a result of the fact that most decimal fractions can’t be represented exactly as a float.

关于python - Python 中的舍入是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34620633/

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