美文网首页
python3学习笔记:对数值进行取整

python3学习笔记:对数值进行取整

作者: 潼潼夏 | 来源:发表于2020-02-26 13:17 被阅读0次

    问题

    将一个浮点数取整到固定的小数位

    解决方案

    使用内建的round(value,ndigits)函数即可。
    当某个值恰好是两个整数间的一半是取整操作会取到离该值最接近的那个偶数上,也就是1.5,2.5这样的值会取整到2
    示例1:

    print(round(1.23,1))
    #1.2
    print (round(1.25,1))
    #1.2
    print (round(-1.27,1))
    #-1.3
    print(round(1.5,0))
    #2
    print(round(2.5,0))
    #2
    

    传递给round()参数ndigits可以是负数,这种情况下会相应取整到十位、百位、千位等。示例如下:

    a = 1456789
    print(round(a,-1))
    #1456790
    print(round(a,-2))
    #1456800
    print(round(a,-3))
    #145700
    

    在对值输出时别把取整和格式化操作混为一谈。如果只是将数值以固定的位数输出,一般来说是用不着round()的。相反,只要在格式化时指定所需的精度就可以。示例如下:

    x=1.23456
    x1 = format(x,'0.2f')
    #x1=1.23
    

    此外,不要采用对浮点数取整的方式来‘修正’精度上的问题。

    a = 2.1
    b = 4.2
    c = a+b
    print(c)
    #6.300000000000001
    c = round(c,2)
    print(c)
    #6.3
    

    如上述做法会产生误差,一般这种误差是可以忽略的。但是如果出现误差的行为非常重要,那么可以考虑使用decimal模块。

    相关文章

      网友评论

          本文标题:python3学习笔记:对数值进行取整

          本文链接:https://www.haomeiwen.com/subject/icemchtx.html