知行编程网知行编程网  2022-10-04 06:30 知行编程网 隐藏边栏  366 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python默认保留几位小数的相关知识,包括pycharm如何保留小数,以及python四舍五入保留一位小数这些编程知识,希望对大家有参考作用。

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()只有一个数字作为参数,当没有指定位数时,返回一个整数,并且是最接近的整数(这方面类似于四舍五入)。但当

在0.5时,两边的距离是一样的,round()取最近的偶数,这就是为什么round(2.5) = 2。指定四舍五入的小数位数时,一般情况也是

使用了四舍五入规则,但是在0.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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享