标准类库-数字和数学模块之decimal使用简介
by:授客 QQ:1033553122
例子
>>>from decimal import *
>>>getcontext()
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
>>>Decimal('5')/3
Decimal('1.666666666666666666666666667')
>>>getcontext().prec = 6 # 设置精度,即最大小数位数
>>>Decimal('5')/3
Decimal('1.66667')
>>>getcontext().prec = 2
>>>Decimal('5')/3
Decimal('1.7')
>>>Decimal('5')/Decimal(3)
Decimal('1.7')
>>>Decimal('3.14')
Decimal('3.14')
>>>Decimal('3.14') * Decimal(0.5)
Decimal('1.570')
>>>Decimal('3.1415926535')
Decimal('3.1415926535')
>>>Decimal('NaN')
Decimal('NaN')
>>>Decimal('-Infinity')
Decimal('-Infinity')
结论:当且仅当“计算结果”小数位数超过getcontext()设置的精度时,才会舍去超过精度部分的小数位数