• python decimal和fractions模块


    1.简介 

    默认,浮点数学缺乏精确性 

    decimal 模块提供了一个 Decimal 数据类型用于浮点数计算。相比内置的二进制浮点数实现 float这个类型有助于金融应用和其它需要精确十进制表达的场合,控制精度,控制舍入以适应法律或者规定要求,确保十进制数位精度,或者用户希望计算结果与手算相符的场合。Decimal 重现了手工的数学运算,这就确保了二进制浮点数无法精确保有的数据精度。 高精度使 Decimal 可以执行二进制浮点数无法进行的模运算和等值测试。 

    2.使用

    >>> from decimal import Decimal

    >>> Decimal('0.1') / Decimal('0.3')

    Decimal('0.3333333333333333333333333333')

     

    >>> from decimal import getcontext

    >>> getcontext().prec = 4 #设置全局精度

    >>> Decimal('0.1') / Decimal('0.3')

    Decimal('0.3333')    

     

     

     

    fractions

    >>> from fractions import Fraction

    >>> Fraction(16, -10)  #分子分母

    Fraction(-8, 5)

    >>> Fraction(123)   #分子

    Fraction(123, 1) 

    >>> Fraction('3/7')   #字符串分数

    Fraction(3, 7) 

    >>> Fraction('-.125')  #字符串浮点数

    Fraction(-1, 8) 

    >>> Fraction(2.25)  #浮点数

    Fraction(9, 4) 

    >>> from decimal import Decimal

    >>> Fraction(Decimal('1.1')) #Decimal

    Fraction(11, 10)

    >>> from fractions import Fraction

    >>> a = Fraction(1,2)

    >>> a

    Fraction(1, 2)

    >>> b = Fraction('1/3')

    >>> b

    Fraction(1, 3)

    >>> a + b

    Fraction(5, 6)

    >>> a - b

    Fraction(1, 6)

  • 相关阅读:
    SecureCRT安装
    wmv12下安装centos7
    SpringMVC(十二):SpringMVC 处理输出模型数据之@ModelAttribute
    oracle之 redo过高诊断
    oracle之 手动创建 emp 表 与 dept 表
    oracle之 11.2.0.4 bbed安装
    oracle12c之 控制pdb中sga 与 pga 内存使用
    storm之 Storm 工作原理
    spark之 spark 2.2.0 Standalone安装、wordCount演示
    hadoop之 参数调优
  • 原文地址:https://www.cnblogs.com/godiness/p/4809413.html
Copyright © 2020-2023  润新知