码迷,mamicode.com
首页 > 编程语言 > 详细

python decimal和fractions模块

时间:2015-09-15 10:47:49      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:

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)

python decimal和fractions模块

标签:

原文地址:http://www.cnblogs.com/godiness/p/4809413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!