找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3152|回复: 4

[求助] round函数中5/2结果是3,运行后结果反而是2

1

主题

3

帖子

3

积分

贫民

积分
3
Abner 发表于 2017-9-20 23:41:39 | 显示全部楼层 |阅读模式
我刚刚用了round函数,5/2,得出来的结果应该是3才对,但是实际运行是2?
这个是因为版本的问题吗?我现在用的是python3.5版本

请教一下各位大神,解决一下!


python.png
回复

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
Abner  楼主| 发表于 2017-9-21 09:45:06 | 显示全部楼层
终于找到答案了,也给大家了解一下,大家互相学习!


其具体要求如下(以保留两位小数为例):
(1)要求保留位数的后一位如果是4或者4以下的数字,则舍去, 例如 5.214保留两位小数为5.21。
(2)如果保留位数的后一位如果是6或者6以上的数字,则进上去, 例如5.216保留两位小数为5.22。
(3)如果保留位数的后一位如果是5,且该位数后没有数字。要根据保留位数的那一位决定是舍去还是进入:如果是奇数则进入,如果是偶数则舍去。例如5.215保留两位小数为5.22,5.225保留两位小数为5.22。
(4) 如果保留位数的后一位如果是5,且该位数后有数字。则进上去,例如5.2152保留两位小数为5.22,5.2252保留两位小数为5.23,5.22500001保留两位小数为5.23。
从统计学的角度,“奇进偶舍”比“四舍五入”要科学,在大量运算时,它使舍入后的结果误差的均值趋于零,而不是像四舍五入那样逢五就入,导致结果偏向大数,使得误差产生积累进而产生系统误差,“奇进偶舍”使测量结果受到舍入误差的影响降到最低。
>>> round(0.5)
0
>>> round(0.51)
1
>>> round(10.0/4)
2
>>> round(14.0/4)
4

回复 支持 1 反对 0

使用道具 举报

2

主题

219

帖子

219

积分

版主

Rank: 7Rank: 7Rank: 7

积分
219

热心会员默默耕耘优秀版主

剑心无痕 发表于 2017-9-21 08:16:20 | 显示全部楼层
round(5/2, 1)默认保留0位小数,1是保留一位小数
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
Abner  楼主| 发表于 2017-9-21 09:37:52 | 显示全部楼层
剑心无痕 发表于 2017-9-21 08:16
round(5/2, 1)默认保留0位小数,1是保留一位小数

round函数不是四舍五入吗?2.5,用了round函数,不是应该等于3吗?

其他都可以理解,就这里一直没搞懂
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2017-9-21 19:40:57 | 显示全部楼层
感谢分享!
python3.4.4, win10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表