python中decimal模塊的具體使用
decimal模塊主要的作用是精確小數(shù),因?yàn)閒loat是不精確的,只是無限接近,對(duì)于一些需要精確小數(shù)點(diǎn)后位數(shù)的就需要用decimal。
Decimal類型的優(yōu)點(diǎn)
Decimal類型是在浮點(diǎn)類型的基礎(chǔ)上設(shè)計(jì)的,但是它在幾個(gè)地方上要優(yōu)于floating point:
- Decimal類型可以非常精確地在計(jì)算機(jī)中存儲(chǔ),浮點(diǎn)型在計(jì)算機(jī)中是無法精確存儲(chǔ)的,后面的小數(shù)會(huì)不精確,Decimal類型則不會(huì)出現(xiàn)這種情況。同樣,由于無法精確存儲(chǔ),浮點(diǎn)型也就無法精確計(jì)算。
- Decimal類型會(huì)自動(dòng)保留小數(shù)點(diǎn)后面不需要的0,以與輸入的精度相匹配,比如:浮點(diǎn)型的1.20+1.30結(jié)果是2.5;而Decimal類型結(jié)果是2.50。
- Decimal類型可以根據(jù)需要自己設(shè)置小數(shù)點(diǎn)后精度。通過getcontext().prec = x (x為你想要的精度來設(shè)置)。
- Decimal類型有很強(qiáng)的管理功能,它能夠根據(jù)需要設(shè)置,來控制輸出的格式,得到或者忽略某類錯(cuò)誤(如除0,可以設(shè)置忽略它,而得到一個(gè)Infinity的Decimal值)
示例1:
from decimal import Decimal
result=Decimal("3.01")+Decimal("3.02") #Decimal()的參數(shù)必須是字符串型
print(result)
運(yùn)行結(jié)果:
6.03
示例2:
from decimal import Decimal,getcontext
getcontext().prec=5 #利用getcontext().prec設(shè)定有效數(shù)字
result=Decimal("10")/Decimal("3")
print(result)
運(yùn)行結(jié)果:
3.3333
示例3:
from decimal import Decimal
result=Decimal(0.123456789).quantize(Decimal("0.0000")) #quantize:設(shè)置小數(shù)位數(shù)
print(result)
運(yùn)行結(jié)果:
0.1235
參考鏈接:
到此這篇關(guān)于python中decimal模塊的具體使用的文章就介紹到這了,更多相關(guān)python decimal模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
不同版本中Python matplotlib.pyplot.draw()界面繪制異常問題的解決
這篇文章主要給大家介紹了關(guān)于不同版本中Python matplotlib.pyplot.draw()界面繪制異常問題的解決方法,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09
如何解決tensorflow恢復(fù)模型的特定值時(shí)出錯(cuò)
今天小編就為大家分享一篇如何解決tensorflow恢復(fù)模型的特定值時(shí)出錯(cuò),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02
詳解pycharm2020.1.1專業(yè)版安裝指南(推薦)
這篇文章主要介紹了pycharm2020.1.1專業(yè)版安裝指南,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
基于Python實(shí)現(xiàn)Word文檔與SVG格式的相互轉(zhuǎn)換
Word和SVG是兩種常見的文件格式,各自有不同的應(yīng)用場(chǎng)景,在實(shí)際應(yīng)用中,我們可能需要將Word文檔內(nèi)容轉(zhuǎn)換為SVG圖形用于網(wǎng)頁展示,或者將 SVG圖形嵌入到Word文檔中進(jìn)行編輯和排版,這篇博客將探討如何使用Python實(shí)現(xiàn)Word與SVG 格式的相互轉(zhuǎn)換,需要的朋友可以參考下2025-02-02
Python基于列表list實(shí)現(xiàn)的CRUD操作功能示例
這篇文章主要介紹了Python列表list實(shí)現(xiàn)的CRUD操作功能,結(jié)合實(shí)例形式分析了Python基于列表list實(shí)現(xiàn)用戶數(shù)據(jù)CRUD相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Python使用thread模塊實(shí)現(xiàn)多線程的操作
線程(Threads)是操作系統(tǒng)提供的一種輕量級(jí)的執(zhí)行單元,可以在一個(gè)進(jìn)程內(nèi)并發(fā)執(zhí)行多個(gè)任務(wù),每個(gè)線程都有自己的執(zhí)行上下文,包括棧、寄存器和程序計(jì)數(shù)器,本文給大家介紹了Python使用thread模塊實(shí)現(xiàn)多線程的操作,需要的朋友可以參考下2024-10-10
Python制作動(dòng)態(tài)詞頻條形圖的全過程
說起動(dòng)態(tài)圖表,最火的莫過于動(dòng)態(tài)條形圖了,下面這篇文章主要給大家介紹了關(guān)于Python制作動(dòng)態(tài)詞頻條形圖的全過程,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11
python 生成不重復(fù)的隨機(jī)數(shù)的代碼
用的是篩選法,網(wǎng)上有解釋,簡單的說 就是先隨機(jī)生成一串?dāng)?shù)字,之后用下標(biāo)來判斷這些數(shù)字有沒有重復(fù),重復(fù)的就篩去2011-05-05

