python2和python3的区别(不断更新),python round(2.5)
round()方法返回数值的小数点四舍五入到n个数字。
语法
以下是round()方法的语法:
圆形(x,n)
参数
X -这是一个数值,表示要格式化的值。
N -这也是一个数值,表示小数点后还剩多少位。
返回值
此方法返回四舍五入为n的数字x的小数点。
PS: round对传入的数据进行舍入。如果ngigits没有通过,默认值为0(也就是说保留整数部分)。当ngigits为0时,对整数部分进行四舍五入,返回的结果为浮点数。
例子
以下示例显示了round()方法的用法。
#!/usr/bin/python2
打印“round(80.23456,2):”,round(80.23456,2)
打印“round(100.000056,3):”,round(100.000056,3)
打印 round (-100.000056,3) : ,round (-100.000056,3)当我们运行上述程序时,它将产生以下结果:
舍入(80.23456,2):80.23
四舍五入(100.000056,3):100.0
四舍五入(-100.000056,3):-100.0Python3和Python2版本的区别
2 Python2将x四舍五入到离0较远的最近倍数,如round (0.5)=1,round(-0.5)=-1;
Python3会将x四舍五入到最接近的偶数倍,比如round (0.5)=0,round (1.5)=2.0,round (2.5)=2.0。
代码:
#!/usr/bin/python2
打印圆(2.635,2)
打印圆形(2.645,2)
打印圆(2.655,2)
打印圆(2.665,2)
Printround(2.675,2)输出结果
2.63
2.65
2.65
2.67
2.67round方法缺陷
从上面的例子可以发现,round的舍入方法似乎和我们理解的不一样。其实这并不是round的bug,主要来自于输入时计算机中十进制到二进制的转换,而且这个问题精度有限解决不了,也不需要解决。
Python的十进制模块可以用来解决这个问题。
如果不需要四舍五入,也可以考虑用我们最熟悉的打印(%.2f% 2.675)。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。