Python decimal模塊的使用示例詳解
更新時間:2023年03月11日 16:07:19 作者:River Chandler
decimal 模塊decimal意思為十進制,這個模塊提供了十進制浮點運算支持,本篇文章主要給大家講解Python decimal模塊的使用,需要的朋友可以參考下
Python decimal 模塊
- Python中的浮點數(shù)默認精度是15位。
- Decimal對象可以表示任意精度的浮點數(shù)。
getcontext函數(shù)
- 用于獲取當前的context環(huán)境,可以設(shè)置精度、舍入模式等參數(shù)。
#在context中設(shè)置小數(shù)的精度 decimal.getcontext().prec = 100
- 通過字符串初始化Decimal類型的變量
因為通過浮點數(shù)初始化Decimal類型的變量會導致精度的丟失
# 浮點數(shù)的初始化 a = decimal.Decimal('3.14159265')
setcontext函數(shù)
decimal.ROUND_HALF_UP 對浮點數(shù)四舍五入
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函數(shù)
- 用于創(chuàng)建一個新的context環(huán)境,可以在該環(huán)境中設(shè)置精度、舍入模式等參數(shù),不會影響全局的context環(huán)境。
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 >>> >>>
到此這篇關(guān)于Python decimal模塊的使用的文章就介紹到這了,更多相關(guān)Python decimal使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺析python實現(xiàn)布隆過濾器及Redis中的緩存穿透原理
本文帶你了解了位圖的實現(xiàn),布隆過濾器的原理及 Python 中的使用,以及布隆過濾器如何應(yīng)對 Redis 中的緩存穿透,相信你對布隆過濾器已經(jīng)有了一定的認識2021-09-09使用python編寫批量卸載手機中安裝的android應(yīng)用腳本
該腳本的功能是卸載android手機中安裝的所有第三方應(yīng)用,主要是使用adb shell pm、adb uninstall 命令,需要的朋友可以參考下2014-07-07python實現(xiàn)K近鄰回歸,采用等權(quán)重和不等權(quán)重的方法
今天小編就為大家分享一篇python實現(xiàn)K近鄰回歸,采用等權(quán)重和不等權(quán)重的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python結(jié)合Window計劃任務(wù)監(jiān)測郵件的示例代碼
這篇文章主要介紹了Python結(jié)合Window計劃任務(wù)監(jiān)測郵件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08