zoukankan      html  css  js  c++  java
  • Python如何取小数点位数

    简单介绍

    在写一个数据平台的时候,发现需要进行通过率的统计,所以不可避免的出现小数的情况。至此,会出现无限小数,那么如何进行取舍呢?

    实际操作

    可以使用decimal模块,decimal意思为十进制,这个模块提供了十进制浮点运算支持。

    常用方法

    1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。

    2.要从浮点数据转换为Decimal类型

    from decimal import *

    Decimal.from_float(12.222)

    # 结果为Decimal('12.2219999999999995310417943983338773250579833984375')

    3.通过设定有效数字,限定结果样式:

    from decimal import *

    getcontext().prec=6

    Decimal(1)/Decimal(7)

    # 结果为Decimal('0.142857'),六个有效数字

    4.四舍五入,保留几位小数

    from decimal import *

    Decimal('50.5679').quantize(Decimal('0.00'))

    # 结果为Decimal('50.57'),结果四舍五入保留了两位小数

    5.Decimal 结果转化为string

    from decimal import *

    str(Decimal('3.40').quantize(Decimal('0.0')))

    # 结果为'3.40',字符串类型

     
    效果

    参考:

    decimal模块

  • 相关阅读:
    bzoj 2002: [Hnoi2010]Bounce 弹飞绵羊
    1691: [Usaco2007 Dec]挑剔的美食家
    CF809E Surprise me!
    「总结」狄利克雷卷积,莫比乌斯反演和杜教筛
    AT3611 Tree MST
    AT2134 Zigzag MST
    CF891C Envy
    【HNOI2018】游戏
    【HNOI2016】树
    【HNOI2016】网络
  • 原文地址:https://www.cnblogs.com/April-Chou-HelloWorld/p/9293307.html
Copyright © 2011-2022 走看看