zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    c++的一些个学习及总结
    简单回合制游戏流程
    c++11 符号修饰与函数签名、函数指针、匿名函数、仿函数、std::function与std::bind
    二叉搜索树、平衡二叉树、红黑树
    STL之空间配置器
    centos 7 安装mysql及常用操作
    生产服务器问题定位
    Linux常用命令
    Garbage First(G1) 垃圾收集器
    垃圾回收算法和垃圾收集器
  • 原文地址:https://www.cnblogs.com/godiness/p/4809413.html
Copyright © 2011-2022 走看看