python2和python3的区别(不断更新),python round(2.5)

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: