decimal模块主要的作用是精确小数,因为float是不精确的,只是无限接近,对于一些需要精确小数点后位数的就需要用decimal。
Decimal类型是在浮点类型的基础上设计的,但是它在几个地方上要优于floating point:
示例1:
from decimal import Decimal result=Decimal("3.01")+Decimal("3.02") #Decimal()的参数必须是字符串型 print(result)
运行结果:
6.03
示例2:
from decimal import Decimal,getcontext getcontext().prec=5 #利用getcontext().prec设定有效数字 result=Decimal("10")/Decimal("3") print(result)
运行结果:
3.3333
示例3:
from decimal import Decimal result=Decimal(0.123456789).quantize(Decimal("0.0000")) #quantize:设置小数位数 print(result)
运行结果:
0.1235
参考链接: