什么定义了python中的浮点精度?

Posted

技术标签:

【中文标题】什么定义了python中的浮点精度?【英文标题】:What defines floating point precision in python? 【发布时间】:2011-03-02 08:05:33 【问题描述】:

我了解了 Erlang 中的“完全等于”运算符compares not only values,还了解了数字的数据类型,我很好奇 Python 中的工作原理及其唯一的“等于”运算符。所以在确定之后

>>> 1 == 1.0 
True

我想知道浮点精度,并得到了这个

>>> 0.9999999999999999 == 1
False
>>> 0.99999999999999999 == 1
True
>>>

有人能解释一下浮点精度是如何确定的吗?它在 2.7.1 和 3.1.2 中的工作方式相同

【问题讨论】:

【参考方案1】:

请查看 Python 文档:

http://docs.python.org/tutorial/floatingpoint.html

【讨论】:

【参考方案2】:

使用浮点数是有风险的。

如果您需要这种深度的精度,请使用 Decimal 类型。

更多:http://docs.python.org/library/decimal.html

【讨论】:

以上是关于什么定义了python中的浮点精度?的主要内容,如果未能解决你的问题,请参考以下文章

c语言float可以输入指数吗

为啥 C/RUST 中的一个加法计算在结果 ASM 中有 3 个双精度浮点加法工具?

Pandas df中的浮点精度[重复]

Python学习Python中的数据类型精度问题

Python的基本类型

OpenCL 的精度,hello world 示例中的浮点比较