我是靠谱客的博主 腼腆大树,最近开发中收集的这篇文章主要介绍用decimal模块增加python的浮点数精度,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

浮点数python默认是17位精度,也就是小数点后16位(16位以后的全部四舍五入了),虽然有16位,但是这个精度越往后越不准.

如果有特殊需求,需要更多的精度,可以用decimal模块,通过更改其里面getcontext()函数里面的prec参数,来决定你想要的浮点数精度。

 

from decimal import Decimal
from decimal import getcontext

work_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

"""

 

 

 

 

转载于:https://www.cnblogs.com/lshedward/p/9902193.html

最后

以上就是腼腆大树为你收集整理的用decimal模块增加python的浮点数精度的全部内容,希望文章能够帮你解决用decimal模块增加python的浮点数精度所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部