语法:round(number[, ndigits])
第二个ndigits参数表示舍入到第几位,需要对原数先计算再舍入,如果不写的话默认保留到整数

>>> round(3.4)
3
>>> round(4.6)
5
>>> round(3.5)
4
>>> round(2.5)
2

规律:四舍六入五成双

round函数在python 3和2中的表现并不一样

  • python 3的官网文档:https://docs.python.org/3/library/functions.html?highlight=round#round
    if two multiples are equally close, rounding is done toward the even choice (so, for example, both round(0.5) and round(-0.5) are 0, and round(1.5) is 2)
    如果两边一样远,则舍入到偶数的那一边。
>>> round(0.5)
0
>>> round(-0.5)
0
>>> round(1.5)
2
  • python 2的官网文档:https://docs.python.org/2/library/functions.html?highlight=round#round
    Values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done away from 0 (so, for example, round(0.5) is 1.0 and round(-0.5) is -1.0).
    如果距离两端一样远,则保留到离0远的一边。所以round(0.5)会近似到1,而round(-0.5)会近似到-1。
>>> round(0.5)
1.0
>>> round(-0.5)
-1.0

浮点数的round的结果可能会使你惊讶,但不是错误
无论是python3还是2都举了相同的例子,
Note The behavior of round() for floats can be surprising: for example, round(2.675, 2) gives 2.67 instead of the expected 2.68. This is not a bug: it’s a result of the fact that most decimal fractions can’t be represented exactly as a float.

>>> round(2.675, 2)
2.67

结果是2.67而不是2.68

这不是一个错误:这是一个事实,即大多数小数部分不能精确地表示为浮点数。

>>> print('{:.20f}'.format(2.675))
2.67499999999999982236

看咯,20位精度打印2.675,在机器中保存的2.675这个数字就比实际数字要小那么一点点。这一点点就导致了它离2.67要更近一点点,所以保留两位小数时就近似到了2.67。

小结:

  • 误差主要来自输入时十进制转换为计算机内部二进制时。
  • round 可以准确舍入,但它涉及的移位计算也可能带来其他误差。
  • Python 的decimal 包可用于解决这一问题。

Python 功能函数round解析相关推荐

  1. python qt信号在qml 的使用_QML使用Python的函数过程解析

    有2种方法: 一. QML中定义一个信号,连接Python里的函数: 这里的函数不用特意指明为槽函数,普通函数即可. QML的信号连接Python的函数 QML: 首先在QML中定义一个信号,这里的信 ...

  2. python功能函数_Python-功能函数的使用

    Python中的函数提供了有组织的,可重用的代码来执行一组操作.函数简化了编码过程,防止冗余逻辑,并使代码更容易遵循. 定义和调用简单函数 使用def语句来定义Python中的函数最常见的方式.这种说 ...

  3. Python 数据处理函数 round()、int()、floor()、ceil()的用法

    对每位程序员来说,在编程过程中数据处理是不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数据处理.取整的方式则包括向下取整.四舍五入.向上取整等等 向下取整:int() 四舍 ...

  4. python lambda函数详细解析(据说面试90%的人经常遇到)

    1 作用:通常是用来在python中创建匿名函数的 2 格式: lambda 参数[,参数] : 表达式 3 注意: 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本 ...

  5. python中sort函数源代码_Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析 本文研究的主要是Python中sort和sorted函数的相关内容,具体如下. 一.sort函数 sort函数是序列的内部函数 函数原型: L.sor ...

  6. Python文本变量与函数的解析执行,增强自动化测试数据驱动

    关注我,每天分享软件测试技术干货.面试经验,想要领取测试资料.进入软件测试学习交流群的可以直接私信我哦~~ 我们在使用Python进行自动化测试或者测试脚本开发时,通常会在代码中融入数据驱动设计,以便 ...

  7. python log函数怎么打_Python的log日志功能及设置方法

    python log函数怎么打_Python的log日志功能及设置方法_Elaine要当律师的博客-CSDN博客

  8. python使用函数的优点-原来 Python 还有这些实用的功能和特点!

    原标题:原来 Python 还有这些实用的功能和特点! 在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性.一些可以说是非常有用,但却没有充分利用.考虑到这一点,我编辑了一些你应该 ...

  9. python使用函数的优点-Python用了这么多年,总结出超实用的功能和特点

    在使用Python这么久,时不时就会发现了一些过去不知道的功能和特性.一些可以说是非常有用,但却没有充分利用.本篇文章总结出你应该了解的Python功能特色,希望大家在学习过程中,少走弯路,善用技巧! ...

  10. PYTHON的函数对参数解析分析

    以下转自其它博客.觉得总结得太好了,所以拿来自己参考一下. python中函数参数的传递是通过赋值来传递的. 函数参数的使用又有俩个方面值得注意: 1.函数参数是如何定义的 2.在调用函数的过程中参数 ...

最新文章

  1. SpringBoot (七) :SpringBoot 整合dubbo
  2. vue 用key拿对象value_vue对象添加属性(key:value)、显示和删除属性
  3. python 释放变量所指向的内存_通俗易懂的Python垃圾回收机制及内存管理
  4. Qt窗口部件与布局之二:布局管理
  5. docker启动顺序
  6. FreeEIM 2013 SDK 部分源码
  7. php单例模式的实现方式,PHP之单例模式的实现
  8. 一文了解什么是DoIP协议(超详细)
  9. 吉林大学计算机科学与技术学院校训,各大学的校训是什么啊啊
  10. idea的使用教程(IntelliJ IDEA)
  11. 数字图像处理:像素间的一些基本关系
  12. Vision.CascadeObjectDetector-VJ算法学习
  13. 机器学习中的数学——常用概率分布(四):均匀分布(Uniform分布)
  14. 学数据挖掘就要懂数据
  15. 读取jar中MF文件以及pom.xml中的版本号
  16. uniapp web-view 网页 video播放器 全屏后无法横屏解决办法
  17. 三档六脚开关接线图详细剖析
  18. 剑指 Offer 53 - II. 0~n-1中缺失的数字(二分查找)
  19. Vue中使用Echarts中的地图组件报错:TypeError: api.coord is not a function
  20. silabs系列51单片机使用printf函数

热门文章

  1. 第一次使用码云上传本地项目
  2. 用什么材料作电磁屏蔽呢?
  3. 微信小程序下拉刷新功能
  4. php开发微信小程序教程,从零开始开发微信小程序步骤(三)
  5. linux文件复制覆盖命令
  6. c#怎样将object转换过程int型
  7. python常用模块numpy解析(详解)
  8. 微信小程序tabBar的开发设置
  9. Wget 下载 ILSVRC12 数据集
  10. php架构师之路2017半年精选40篇