最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • python默认保留几位小数

    正文概述    2020-09-06   486

    python默认保留几位小数

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

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

    考虑两种情况:

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

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

    推荐学习《Python教程》

    代码:

    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默认保留几位小数

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元