Python decimal模塊的使用示例詳解

Python decimal 模塊

  • Python中的浮點數默認精度是15位。
  • Decimal對象可以表示任意精度的浮點數。

getcontext函數

  • 用於獲取當前的context環境,可以設置精度、舍入模式等參數。
#在context中設置小數的精度
decimal.getcontext().prec = 100
  • 通過字符串初始化Decimal類型的變量

因為通過浮點數初始化Decimal類型的變量會導致精度的丟失

# 浮點數的初始化
a = decimal.Decimal('3.14159265')

setcontext函數

decimal.ROUND_HALF_UP 對浮點數四舍五入

import decimal
x = decimal.Decimal('1.23456789')
context = decimal.Context(prec=4,rounding=decimal.ROUND_HALF_UP)
decimal.setcontext(context)
y1 = x
y2 = x*2 
print("y1",y1)
print("y2",y2)
 
>>>y1 1.23456789
>>>y2 2.469

localcontext函數

  • 用於創建一個新的context環境,可以在該環境中設置精度、舍入模式等參數,不會影響全局的context環境。
import decimal
x = decimal.Decimal('1.23456789')
context0 = decimal.Context(prec=9,rounding=decimal.ROUND_HALF_UP)
decimal.setcontext(context0)
y1 = x * 2
print("y1",y1)
 
with decimal.localcontext() as context:
    context.prec = 4
    context.rounding = decimal.ROUND_HALF_UP
    y2 = x * 2
    print("y2",y2)
 
 
>>>y1 2.46913578
>>>y2 2.469
>>>
>>>

到此這篇關於Python decimal模塊的使用的文章就介紹到這瞭,更多相關Python decimal使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: