round四舍五入详解--python2与python3版本间区别
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版本间区别相关推荐
- python中round(x、2)是什么意思_round四舍五入详解--python2与python3版本间区别
round()方法返回 数值 的小数点四舍五入到n个数字. 语法 以下是round()方法的语法: round( x [, n] ) 参数 x --这是一个数值,表示需要格式化的数值 n --这也是一 ...
- python2和python3版本的区别
日常工作中,可能遇到一些python2和python3版本不一致到来的问题,简单整理下. 特点一:Python 3.0 在设计的时候没有考虑向下相容的,python2版本在python3上运行,可能会 ...
- 详解python2 和 python3的区别
1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比 ...
- BC1.2和QC快充识别过程的详解以及QC各版本的区别
USB-IF提出BC1.2:5V1.5A 高通qc1.0的协议(发布于2013年):5V2A BC1.2和QC快充识别过程如下:.
- pythonmysql部署_详解centos7+django+python3+mysql+阿里云部署项目全流程
(PS:本文假设你已经在本地联调好django和客户端,只是需要将django部署到外网) 购买阿里云服务器 到[阿里云官网],选择轻量应用服务器, 步骤如图所示: 地域随便选择哪一个,镜像的话,对比 ...
- Math 的 ceil、floor、round方法详解及示例
Math 的 ceil.floor.round方法详解及示例 大家好,我是酷酷的韩~ 一.Math.ceil() ceil的英文意义是天花板,该方法就表示向上取整(取大),Math.ceil(9.1) ...
- python2 md5库_python版本坑:md5例子(python2与python3中md5区别)
起步 对于一些字符,python2和python3的md5加密出来是不一样的. # python2.7 pwd = "xxx" + chr(163) + "fj" ...
- 详解python中GPU版本的opencv常用方法介绍
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ 高州阳光论坛https://www.hnthzk.com/ 引 ...
- python2好还是python3好-总结对比Python2和Python3之间的区别
首先要说的是,Python的版本,目前主要分为两大类: Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.3. Python 3.x的版本的,被称为Py ...
最新文章
- docker-2-简单使用docker-ce
- Fabio 安装和简单使用
- 局域网***-Dos***CDP
- HTML中From表单的常用type属性及用法【较全】
- alter在mysql_MySQL中ALTER用法小结
- 关于图连通性的几道题(水)
- ReportViewer教程(12)-按组折叠
- 计算机网络-自顶向下方法(7th) 第五章 Problems 英文题目1-15+中文答案
- 深入搜索引擎——海量信息的压缩、索引和查询
- 多思计组原理虚拟实验室_多思计算机组成原理虚拟实验室
- 单片机简易开发板怎么设计,我来告诉你
- 圣光照耀联盟—PostgreSQL临时表的创建与使用过程
- Android 源代码分享
- 淘宝-51CTO学院-01-概述 - OpenCV介绍与环境搭建
- LC365. 水壶问题
- 今日头条一个身份证可以注册几个头条号
- Elastic:配置 Elasticsearch 服务器 logs
- 亲测bitLock再次上锁方法
- python爬虫案例-爬取当当网数据
- 计算机网络原理(谢希仁第八版)第六章课后习题答案
热门文章
- xlrd、xlwt操作execl表格
- 开发中 常用 js 记录(一)
- 第八届河南省省赛 A.挑战密室
- PaperSize.RawKind 属性
- linux双网卡私网,linux双网卡路由配置私网专线
- 用etree解析xml_用python3教你任意Html主内容提取
- 【数据结构总结】第八章 排序
- C语言函数题-查找数组每行的最大值
- C语言学习之利用指针将字符串a复制为字符串 b,然后输出字符串b
- 用SqlBulkCopy批量安插数据时提示来自数据源的 String 类型的给定值不能转换为指定目标列的类型 int...