decimal模塊為正確舍入十進制浮點運算提供了支持,相比內置的浮點類型float,它能更加精確的控制精度,能夠為精度要求較高的金融等領域提供支持。
decimal在一個獨立的context下工作,可以使用getcontext()查看當前上下文,如下所示:
>>fromdecimalimport*
>>>getcontext()
Context(prec=28,rounding=ROUND_HALF_EVEN,Emin=-999999,Emax=999999,capitals=1,clamp=0,flags=[],traps=[InvalidOperation,DivisionByZero,Overflow])
從上面的結果中我們可以看到prec=28,這就是默認的精度,我們可以使用getcontext().prec=xxx來重新設置精度。接下來通過具體示例看一下。
基本運算
importdecimald1=decimal.Decimal(1.1)d2=decimal.Decimal(9.9)print(d1+d2)print(d1-d2)print(d1*d2)print(d1/d2)
執(zhí)行結果:
11.00000000000000044408920985
-8.800000000000000266453525910
10.89000000000000127009514017
0.1111111111111111160952773272
上面結果是用了默認精度,我們重新設置下精度再來看一下:
importdecimaldecimal.getcontext().prec=2d1=decimal.Decimal(1.1)d2=decimal.Decimal(9.9)print(d1+d2)print(d1-d2)print(d1*d2)print(d1/d2)
執(zhí)行結果:
11
-8.8
11
0.11
以上內容為大家介紹了Pythondecimal模塊,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。