round()函数返回浮点数x的四舍五入值。函数语法格式:

round(x, [, n])

参数说明:

        x:数值表达式

        n:数值表达式,表示从小数点开始的位数,

                如果不设置该值,返回整数;

                如果设置为0,返回值仍然是浮点数;

                如果设置为负数,表示在整数位部分四舍五入,但结果仍是浮点数

返回值:返回浮点数x的四舍五入值。

示例:

b=int(input())  # 保留的小数点的位数
print(round(float(input()),b))

显示结果:

2
-45.213
-45.21

注意!!!

⚪ round()的结果与python的版本有关

本机没有python2的环境,就拿来主义了。来源:Python 中关于 round 函数的小坑 | 菜鸟教程 (runoob)

 在python2.7中,round()函数保留至将保留到离上一位更近的一端,如果距离一样远,则保留到离0远的一边,所以round(0.5)近似到1,round(-0.5)近似到-1。

而在python3.5中,round()函数变成了如果距离两边一样远,会保留到偶数的以便,比如round(0.5)和round(-0.5)都会保留到0,round(1.5)会保留到2。

另外由于在机器中浮点数不一定能精确表达,浮点数换算成以传1和0后可能是无限位数的,机器做出截断处理。

需要使用round()函数时,还可以用到其它的选择:

  • 使用math模块中的函数,比如math.ceiling(),向上取整
  • python自带整除,python2中是/,python3中是//,还有div函数
  • 字符串格式化可以做截断使用,比如 %2f(表示保留2位小数)
  • 对浮点数精度要求很高的话,可以使用decimal模块

全文参考:Python round() 函数 | 菜鸟教程 (runoob)

更多推荐

【python】python内置函数 ——round()获取浮点数的四舍五入值