Python模塊-decimal


Python提供了decimal模塊用於十進制數學計算,它具有以下特點:

  1. 提供十進制數據類型,並且存儲為十進制數序列;
  2. 有界精度:用於存儲數字的位數是固定的,可以通過decimal.getcontext().prec=x 來設定,不同的數字可以有不同的精度
  3. 浮點:十進制小數點的位置不固定(但位數是固定的)

 

decimal的構建:

可以通過整數、字符串或者元組構建decimal.Decimal,對於浮點數需要先將其轉換為字符串

 

decimal的context:

decimal在一個獨立的context下工作,可以通過getcontext來獲取當前環境。例如前面提到的可以通過decimal.getcontext().prec來設定小數點精度(默認為28)

 

from  decimal import Decimal
from  decimal import getcontext

d_context = getcontext()
d_context.prec = 6
print(d_context)

d = Decimal(1) / Decimal(3)
print(type(d), d)

 

log:

Context(prec=6, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
<class 'decimal.Decimal'> 0.333333

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM