python中decimal模块的具体使用
短信预约 -IT技能 免费直播动态提醒
decimal模块主要的作用是精确小数,因为float是不精确的,只是无限接近,对于一些需要精确小数点后位数的就需要用decimal。
Decimal类型的优点
Decimal类型是在浮点类型的基础上设计的,但是它在几个地方上要优于floating point:
- Decimal类型可以非常精确地在计算机中存储,浮点型在计算机中是无法精确存储的,后面的小数会不精确,Decimal类型则不会出现这种情况。同样,由于无法精确存储,浮点型也就无法精确计算。
- Decimal类型会自动保留小数点后面不需要的0,以与输入的精度相匹配,比如:浮点型的1.20+1.30结果是2.5;而Decimal类型结果是2.50。
- Decimal类型可以根据需要自己设置小数点后精度。通过getcontext().prec = x (x为你想要的精度来设置)。
- Decimal类型有很强的管理功能,它能够根据需要设置,来控制输出的格式,得到或者忽略某类错误(如除0,可以设置忽略它,而得到一个Infinity的Decimal值)
示例1:
from decimal import Decimal
result=Decimal("3.01")+Decimal("3.02") #Decimal()的参数必须是字符串型
print(result)
运行结果:
6.03
示例2:
from decimal import Decimal,getcontext
getcontext().prec=5 #利用getcontext().prec设定有效数字
result=Decimal("10")/Decimal("3")
print(result)
运行结果:
3.3333
示例3:
from decimal import Decimal
result=Decimal(0.123456789).quantize(Decimal("0.0000")) #quantize:设置小数位数
print(result)
运行结果:
0.1235
参考链接:
1.python中的decimal模块
到此这篇关于python中decimal模块的具体使用的文章就介绍到这了,更多相关python decimal模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341