Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么python中的round()函数会给出不同的结果?_Python_Python 3.x - Fatal编程技术网

为什么python中的round()函数会给出不同的结果?

为什么python中的round()函数会给出不同的结果?,python,python-3.x,Python,Python 3.x,我试图对浮点数进行四舍五入运算,但在python中,对于不同的浮点值,它会给出不同的结果。示例:- >>> round(4.5) 4 及 >>> round(3.5) 4 正如您所看到的,结果是round(4.5)return4,而rount(3.5)return4。如何解决这个问题?我希望round(4.5)返回5。请帮帮我。谢谢请参阅 基本上它叫偶数圆。它将把x.5值舍入为偶数选择 这是。来自: 如果两个倍数相等接近,则舍入将朝偶数选择方向进行(例如,

我试图对浮点数进行四舍五入运算,但在python中,对于不同的浮点值,它会给出不同的结果。示例:-

>>> round(4.5)
4

>>> round(3.5)
4
正如您所看到的,结果是
round(4.5)
return
4
,而
rount(3.5)
return
4
。如何解决这个问题?我希望
round(4.5)
返回
5
。请帮帮我。谢谢

请参阅

基本上它叫偶数圆。它将把
x.5
值舍入为偶数选择

这是。

来自:

如果两个倍数相等接近,则舍入将朝偶数选择方向进行(例如,舍入(0.5)和舍入(-0.5)均为0,舍入(1.5)均为2)

也就是说,Python3是这样做的

您可以通过以下方式进行“汇总”:

import math
def round_up(x):
    return math.floor(x + 0.5)

银行家的取整,不是吗?@MadPhysician的确,这是它的另一个名字。这也是IEEE 754的默认设置,因此Python在这里表现得很好且兼容:不可复制的