用decimal模块增加python的浮点数精度
生活随笔
收集整理的這篇文章主要介紹了
用decimal模块增加python的浮点数精度
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
浮點(diǎn)數(shù)python默認(rèn)是17位精度,也就是小數(shù)點(diǎn)后16位(16位以后的全部四舍五入了),雖然有16位,但是這個(gè)精度越往后越不準(zhǔn).
如果有特殊需求,需要更多的精度,可以用decimal模塊,通過更改其里面getcontext()函數(shù)里面的prec參數(shù),來決定你想要的浮點(diǎn)數(shù)精度。
?
from decimal import Decimal from decimal import getcontextwork_context = getcontext() work_context.prec = 100 print(work_context) ''' Context(prec=100, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow]) <class 'decimal.Decimal'> '''d = Decimal(1) / Decimal(3) print(type(d), d)"""0.3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"""?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/lshedward/p/9902193.html
總結(jié)
以上是生活随笔為你收集整理的用decimal模块增加python的浮点数精度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: p2444 病毒
- 下一篇: 技术 | Python从零开始系列连载(