python round 四舍五入?

>>> round(0.5)
0
>>> round(1.5)#为什么这样
2
阅读 4.3k
3 个回答

在不同的Python版本中,round函数的取值会出现不同状况

在Python2.7中,round函数的定义是如果输入数值距离两边一样远,则取偶数的一边

~ python2
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 12:39:47) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> round(0.5)
1.0

在Python3 中,round函数的定义是四舍五入。

Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> round(0.5)
0

楼上那位是用了ipython,是基于python2的,所以定义也遵从Python2的。

round(number, ndigits=None)
指要保留的小数位,默认为None

In [5]: round(0.5)
Out[5]: 1.0

In [6]: round(0.5, 1)
Out[6]: 0.5
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题