首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中更改数值精度?

问如何在python中更改数值精度?
EN

Stack Overflow用户
提问于 2019-10-07 01:13:55
回答 1查看 267关注 0票数 1

如果我用python写1e-15,python可以区分这个数字和0,但是如果我写1e-16,python就不能区分这个数字和0。所以python的精确度可以达到16位。有没有办法将精度降低到例如10位数?多么?我能不能用一些

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-07 01:34:23

如果您希望在计算中使用精确的算术运算,强烈建议您使用默认的float类型。请参阅官方文档的Floating Point Arithmetic: Issues and Limitations部分。

这就是为什么你使用decimal module会更好的原因。它有几种方法来控制精度。

在这里,我们全局地更改精度:

代码语言:javascript
复制
>>> from decimal import *
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')

我们在这里为一个数字做这个:

代码语言:javascript
复制
>> Decimal('0.1428571428571428571428571429').quantize('0.01')
Decimal('0.14')

你可以找到更多的例子in the docs。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58259566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档