python中四舍五入的正确打开方式


Posted in Python onJanuary 18, 2021

round()函数

(注意:下面的我也不清楚是否正确,我只是发表一下我的观点)

对于简单的舍入运算,使用内置的 round(value, ndigits) 函数即可
强烈建议不要去深究,就直接得结果就好
ndigiths可以为正数,也可以为负数,还可以为0,可以为空
n:就是精确到第n位小数,对整数没有影响,1为精确到十分位(注意:小数就是从十分位往后推的)
-n:就是精确到整数位,-1为精确到十位,然后就是百位千位…有小数位就全舍掉,不管多大,但会保留一个为0的小数位
0:精确到个位,但会保留一个为0的小数位
为空:精确到个位,没有小数位

其他还好就这个临界点5很烦,我自己感觉得啊
就我以前的理解要是将1.49精确到个位应该得到的是2对吧,是从右往左依次进行四舍五入吧,但python运行结果为1
下面是小数部分的

>>> round(1.49)
1
>>> round(1.5)
2
>>> round(0.5)
0
>>> round(0.51)
1
>>> round(0.051,1)
0.1
>>> round(0.05,1)
0.1
>>> round(0.046,1)
0.0
>>> round(0.25,1)
0.2
>>> round(0.35,1)
0.3
>>> round(0.251,1)
0.3

这里是整数

>>> round(1235,-1)
1240
>>> round(1245,-1)
1240
>>> round(1234.99,-1)
1230.0
>>> round(1245,-2)
1200

这是我在网上查的对四舍五入的理解:
1、同型算法:四舍六入五成双。这里"四"是小于五的意思,"六"是大于五的意思,"五"是舍入位之后的尾数逢五的话看前一位,奇进偶不进。如1.25保留一位小数,因为2是偶数,所以是1.2。
2、从统计学的角度,"四舍六入五成双"比"四舍五入"要科学,它使舍入后的结果有的变大,有的变小,更平均。而不是像四舍五入那样逢五就入,导致结果偏向大数。
不清python用的是什么标准来进行四舍五入的
我还去网上查了一下Python中对四舍五入的理解:
在Python3中,round函数的取舍方式使用靠近最近和等距靠近偶数(ROUND_HALF_EVEN)策略
不怎么理解,辣鸡了呀
不去想了,再想会把我以前对四舍五入的理解都搞混了,花费我很多时间,还是不懂,害,任它去吧
还是想建议大家就直接使用,不要理解哦,如果你是大佬就当我没说,嘿嘿

format()函数

如果只想在输出时按格式打印,使用format()函数就好了

>>> format(1.45,'0.1f')
'1.4'
>>> format(1.35,'0.1f')
'1.4'

python 向上取整ceil 向下取整floor 四舍五入round

#encoding:utf-8
import math

#向上取整
print "math.ceil---"
print "math.ceil(2.3) => ", math.ceil(2.3)
print "math.ceil(2.6) => ", math.ceil(2.6)

#向下取整
print "\nmath.floor---"
print "math.floor(2.3) => ", math.floor(2.3)
print "math.floor(2.6) => ", math.floor(2.6)

#四舍五入
print "\nround---"
print "round(2.3) => ", round(2.3)
print "round(2.6) => ", round(2.6)

#这三个的返回结果都是浮点型
print "\n\nNOTE:every result is type of float"
print "math.ceil(2) => ", math.ceil(2)
print "math.floor(2) => ", math.floor(2)
print "round(2) => ", round(2)

运行结果:

python中四舍五入的正确打开方式

到此这篇关于python中四舍五入的正确打开方式的文章就介绍到这了,更多相关python 四舍五入内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
十个Python程序员易犯的错误
Dec 15 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
python实现简单名片管理系统
Nov 30 Python
python+mysql实现教务管理系统
Feb 20 Python
Python 实现交换矩阵的行示例
Jun 26 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
Python调用jar包方法实现过程解析
Aug 11 Python
Python开发.exe小工具的详细步骤
Jan 27 Python
详解Flask开发技巧之异常处理
Jun 15 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 Python
PyQt5中QSpinBox计数器的实现
Jan 18 #Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 #Python
PyQt实现计数器的方法示例
Jan 18 #Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 #Python
Python实现一个论文下载器的过程
Jan 18 #Python
利用python为PostgreSQL的表自动添加分区
Jan 18 #Python
如何查看python关键字
Jan 17 #Python
You might like
介绍一些PHP判断变量的函数
2012/04/24 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP连接MySQL数据的操作要点
2015/03/20 PHP
php简单压缩css样式示例
2016/09/22 PHP
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
JQuery之focus函数使用介绍
2013/08/20 Javascript
几种延迟加载JS代码的方法加快网页的访问速度
2013/10/12 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
Angular2 组件通信的实例代码
2017/06/23 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
Python算法应用实战之栈详解
2017/02/04 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
python属于解释型语言么
2020/06/15 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
大学生求职推荐信
2013/11/27 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
幼儿教师暑期培训方案
2014/08/27 职场文书
2014年终个人工作总结
2014/11/07 职场文书
经理助理岗位职责
2015/02/02 职场文书
中学生自我评价2015
2015/03/03 职场文书
歼十出击观后感
2015/06/11 职场文书
医院病假条范文
2015/08/17 职场文书
Go 通过结构struct实现接口interface的问题
2021/10/05 Golang