round()方法返回 数值 的小数点四舍五入到n个数字。

语法

以下是round()方法的语法:

round( x [, n] )

参数

x --这是一个数值,表示需要格式化的数值n --这也是一个数值,表示小数点后保留多少位

返回值

该方法返回 数值x 的小数点四舍五入到n个数字

PS: round 对传入的数据进行四舍五入,如果ngigits不传,默认是0(就是说保留整数部分).ngigits<0 的时候是来对整数部分进行四舍五入,返回的结果是浮点数.

例子

下面的例子显示了round()方法的使用

#!/usr/bin/python2
print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)

当我们运行上面的程序,它会产生以下结果:

round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0

Python3和Python2版本的区别

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
print round(2.635, 2)
print round(2.645, 2)
print round(2.655, 2)
print round(2.665, 2)
print round(2.675, 2)

输出结果:

2.63
2.65
2.65
2.67
2.67

round方法缺陷

通过上面的例子大家可以发现, round的四舍五入方法貌似和我们理解的不太一样, 其实这个不是round的bug, 这个主要来自输入时十进制转换为计算机内部二进制时,且这个问题在有限精度下不可能解决,也不需要解决。

Python 的 decimal 模块可用于解决这一问题。

如果大家不需要四舍五入的话,也可以考虑使用我们最熟悉的print("%.2f" % 2.675)这种方式实现。

round四舍五入详解--python2与python3版本间区别相关推荐

  1. python中round(x、2)是什么意思_round四舍五入详解--python2与python3版本间区别

    round()方法返回 数值 的小数点四舍五入到n个数字. 语法 以下是round()方法的语法: round( x [, n] ) 参数 x --这是一个数值,表示需要格式化的数值 n --这也是一 ...

  2. python2和python3版本的区别

    日常工作中,可能遇到一些python2和python3版本不一致到来的问题,简单整理下. 特点一:Python 3.0 在设计的时候没有考虑向下相容的,python2版本在python3上运行,可能会 ...

  3. 详解python2 和 python3的区别

    1.性能  Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可  以取得很好的优化结果.  Py3.1性能比 ...

  4. BC1.2和QC快充识别过程的详解以及QC各版本的区别

    USB-IF提出BC1.2:5V1.5A 高通qc1.0的协议(发布于2013年):5V2A BC1.2和QC快充识别过程如下:.

  5. pythonmysql部署_详解centos7+django+python3+mysql+阿里云部署项目全流程

    (PS:本文假设你已经在本地联调好django和客户端,只是需要将django部署到外网) 购买阿里云服务器 到[阿里云官网],选择轻量应用服务器, 步骤如图所示: 地域随便选择哪一个,镜像的话,对比 ...

  6. Math 的 ceil、floor、round方法详解及示例

    Math 的 ceil.floor.round方法详解及示例 大家好,我是酷酷的韩~ 一.Math.ceil() ceil的英文意义是天花板,该方法就表示向上取整(取大),Math.ceil(9.1) ...

  7. python2 md5库_python版本坑:md5例子(python2与python3中md5区别)

    起步 对于一些字符,python2和python3的md5加密出来是不一样的. # python2.7 pwd = "xxx" + chr(163) + "fj" ...

  8. 详解python中GPU版本的opencv常用方法介绍

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ 高州阳光论坛https://www.hnthzk.com/ 引 ...

  9. python2好还是python3好-总结对比Python2和Python3之间的区别

    首先要说的是,Python的版本,目前主要分为两大类: Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.3. Python 3.x的版本的,被称为Py ...

最新文章

  1. docker-2-简单使用docker-ce
  2. Fabio 安装和简单使用
  3. 局域网***-Dos***CDP
  4. HTML中From表单的常用type属性及用法【较全】
  5. alter在mysql_MySQL中ALTER用法小结
  6. 关于图连通性的几道题(水)
  7. ReportViewer教程(12)-按组折叠
  8. 计算机网络-自顶向下方法(7th) 第五章 Problems 英文题目1-15+中文答案
  9. 深入搜索引擎——海量信息的压缩、索引和查询
  10. 多思计组原理虚拟实验室_多思计算机组成原理虚拟实验室
  11. 单片机简易开发板怎么设计,我来告诉你
  12. 圣光照耀联盟—PostgreSQL临时表的创建与使用过程
  13. Android 源代码分享
  14. 淘宝-51CTO学院-01-概述 - OpenCV介绍与环境搭建
  15. LC365. 水壶问题
  16. 今日头条一个身份证可以注册几个头条号
  17. Elastic:配置 Elasticsearch 服务器 logs
  18. 亲测bitLock再次上锁方法
  19. python爬虫案例-爬取当当网数据
  20. 计算机网络原理(谢希仁第八版)第六章课后习题答案

热门文章

  1. xlrd、xlwt操作execl表格
  2. 开发中 常用 js 记录(一)
  3. 第八届河南省省赛 A.挑战密室
  4. PaperSize.RawKind 属性
  5. linux双网卡私网,linux双网卡路由配置私网专线
  6. 用etree解析xml_用python3教你任意Html主内容提取
  7. 【数据结构总结】第八章 排序
  8. C语言函数题-查找数组每行的最大值
  9. C语言学习之利用指针将字符串a复制为字符串 b,然后输出字符串b
  10. 用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int...