Decimal示例
典型用法:Decimal(‘3.14’)
适合 monetary 问题,默认自动跟随最大精度,例如
>>> Decimal('0.89')+Decimal('0.11')
Decimal('1.00')
>>> Decimal('0.89')+Decimal('0.110')
Decimal('1.000')
也可手工设置精度:
【特别注意,此精度指的是有效数字,不是小数点后几位】
>>> getcontext().prec = 50
>>> Decimal('1.234567') + Decimal('9.87654')
Decimal('11.111107')
>>> getcontext().prec = 3
>>> Decimal('1.234567') + Decimal('9.87654')
Decimal('11.1')
>>> getcontext().prec = 28
>>> Decimal(10)
Decimal('10')
>>> Decimal('3.14')
Decimal('3.14')
>>> Decimal(3.14)
Decimal('3.140000000000000124344978758017532527446746826171875')
>>> Decimal((0, (3, 1, 4), -2))
Decimal('3.14')
>>> Decimal(str(2.0 ** 0.5))
Decimal('1.4142135623730951')
>>> Decimal(2) ** Decimal('0.5')
Decimal('1.414213562373095048801688724')
>>> Decimal('NaN')
Decimal('NaN')
>>> Decimal('-Infinity')
Decimal('-Infinity')