-2
我只是检查以下东西在Python 2.7的Python:浮法附加值和减法给出错误的值
打印0.1 + 0.2
输出: - 0.3
打印0.1 + 0.2 - 0.3
输出: - 5.55111512313e -17
但我期望0.0 那么,如何实现这个东西呢?
我只是检查以下东西在Python 2.7的Python:浮法附加值和减法给出错误的值
打印0.1 + 0.2
输出: - 0.3
打印0.1 + 0.2 - 0.3
输出: - 5.55111512313e -17
但我期望0.0 那么,如何实现这个东西呢?
这里的问题是float类型没有足够的精度来显示你想要的结果。如果您尝试打印部分总和0.1 + 0.2,则会看到您获得的浮动结果为0.30000000000000004。
因此,5.55111512313e-17是与浮点型变量最接近的结果。如果您尝试将结果转换为int,那么:
int(0.2 + 0.1 - 0.3)
您会看到0,这是正确的整数近似值。 您可以通过使用小数类获得浮点变量0.0。
试试这个:[?是浮点运算破]
from decimal import Decimal
Decimal("0.2") + Decimal("0.1") - Decimal("0.3")
,你会看到的结果是十进制( “0.0”)
的可能重复(HTTP://计算器。 COM /问题/ 588004/IS-浮点运算碎) – MattDMo 2014-10-16 19:22:30