python默认保留几位小数的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联建站始终坚持【策划先行,效果至上】的经营理念,通过多达十年累计超上千家客户的网站建设总结了一套系统有效的推广解决方案,现已广泛运用于各行各业的客户,其中包括:纸箱等企业,备受客户赞誉。

小编给大家分享一下python默认保留几位小数的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

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

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

考虑两种情况:

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

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

代码:

def format(f, n):
    if round(f)==f:
        m = len(str(f))-1-n
        if f/(10**m) ==0.0:
            return f
        else:
            return float(int(f)/(10**m)*(10**m))
    return round(f, n - len(str(int(f)))) if len(str(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

看完了这篇文章,相信你对python默认保留几位小数的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!


分享名称:python默认保留几位小数的方法-创新互联
转载来于:http://bzwzjz.com/article/dggjdg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都品牌网站设计 成都定制网站建设 成都网站建设 网站设计 盐亭网站设计 营销型网站建设 温江网站设计 重庆手机网站建设 达州网站设计 响应式网站设计 网站建设改版 外贸网站建设 网站设计公司 成都网站建设 网站建设公司 成都网站建设公司 网站建设 企业网站设计 教育网站设计方案 成都网站建设 营销型网站建设 商城网站建设