gpt4 book ai didi

Python3 四舍五入到最接近的偶数

转载 作者:太空狗 更新时间:2023-10-29 16:53:31 25 4
gpt4 key购买 nike

Python3.4 舍入到最接近的偶数(在决胜局的情况下)。

>>> round(1.5)
2
>>> round(2.5)
2

但它似乎只在四舍五入为整数时才这样做。

>>> round(2.75, 1)
2.8
>>> round(2.85, 1)
2.9

在上面的最后一个示例中,四舍五入到最接近的偶数时,我预计答案是 2.8。

为什么这两种行为之间存在差异?

最佳答案

float 只是近似值; 2.85 无法准确表示:

>>> format(2.85, '.53f')
'2.85000000000000008881784197001252323389053344726562500'

超过 2.85。

0.5 和 0.75可以用二进制分数精确表示(分别为 1/2 和 1/2 + 1/4)。

round() 函数 documents this explicitly :

Note: 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. See Floating Point Arithmetic: Issues and Limitations for more information.

关于Python3 四舍五入到最接近的偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23248489/

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