加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python工具:保留小数的指定有效位数

发布时间:2020-12-17 01:24:11 所属栏目:Python 来源:网络整理
导读:处理一个数据文件,发现数据不一致,小数点后有三位、四位、六位、更多位。部分还进行四舍五入。 需要对数据文件进行处理。如果有效位超过6位,则四舍五入。如果小于6位,则保持原来的数字不变。 考虑两种情况: 小数点后无数字:判断数字有效位(len(str(nu

处理一个数据文件,发现数据不一致,小数点后有三位、四位、六位、更多位。部分还进行四舍五入。

需要对数据文件进行处理。如果有效位超过6位,则四舍五入。如果小于6位,则保持原来的数字不变。

考虑两种情况:

小数点后无数字:判断数字有效位(len(str(num))-1)是否超过6,超过则通过整除去尾,没有则返回

小数点后有数字:判断数字有效位(len(str(num))-1)是否超过6,超过则四舍五入round(f,n - len(str(int(f)))),没有则返回

代码:

n+1 else f

注意:

round不是简单的四舍五入

round()如果只有一个数作为参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数(这点上类似四舍五入)。但是当出现.5的时候,两边的距离都一样,round()取靠近的偶数,这就是为什么round(2.5) = 2。当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的这样情况,如果要取舍的位数前的小树是奇数,则直接舍弃,如果偶数这向上取舍。看下面的示例:

>> round(2.635,2)
2.63
>>> round(2.645,2)
2.65
>>> round(2.655,2)
2.65
>>> round(2.665,2)
2.67
>>> round(2.675,2)
2.67

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读