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!
推薦閱讀:
- python中decimal模塊的用法
- python3 實現除法結果為整數
- Python浮點數取整、格式化和NaN處理的操作方法
- python調用dll出現精度問題解決
- python實現高精度求自然常數e過程詳解