zoukankan      html  css  js  c++  java
  • 用decimal模块增加python的浮点数精度

    浮点数python默认是17位精度,也就是小数点后16位(16位以后的全部四舍五入了),虽然有16位,但是这个精度越往后越不准.

    如果有特殊需求,需要更多的精度,可以用decimal模块,通过更改其里面getcontext()函数里面的prec参数,来决定你想要的浮点数精度。

    from decimal import Decimal
    from decimal import getcontext
    
    work_context = getcontext()
    work_context.prec = 100
    print(work_context)
    '''
    Context(prec=100, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
    <class 'decimal.Decimal'>
    '''
    
    d = Decimal(1) / Decimal(3)
    print(type(d), d)
    
    """
     0.3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333
    
    """

  • 相关阅读:
    CSS的扩展less和sass
    html5小游戏基础知识
    htm5拖放和画布
    htm5
    并查集模板
    二叉树的建树
    kmp的书写
    贪心算法
    容器
    POJ2442 优先队列
  • 原文地址:https://www.cnblogs.com/lshedward/p/9902193.html
Copyright © 2011-2022 走看看