Python 3.x python3中的(float*int)计算结果错误

Python 3.x python3中的(float*int)计算结果错误,python-3.x,Python 3.x,当我在python3中运行下面的代码时 a = 4.1 b = 1000000 c = 0 result = (a * b) + c print(result) 我得到了这个结果 4099999.9999999995 你能告诉我如何更正这个计算吗 这是python中的一个已知问题?这是一个but。 文档建议对值进行四舍五入或使用模块。可能重复@Phylogenesis,我明白了,非常感谢!你能告诉我怎么更正这个计算吗?是的。这是Python中的一个已知问题。所有支持固定长度浮点数的编程语言都

当我在python3中运行下面的代码时

a = 4.1
b = 1000000
c = 0
result = (a * b) + c
print(result)
我得到了这个结果

4099999.9999999995
你能告诉我如何更正这个计算吗

这是python中的一个已知问题?

这是一个but。

文档建议对值进行四舍五入或使用模块。

可能重复@Phylogenesis,我明白了,非常感谢!你能告诉我怎么更正这个计算吗?是的。这是Python中的一个已知问题。所有支持固定长度浮点数的编程语言都有一个问题。以及所有支持固定长度浮点数的硬件。让我们说这是生活中令人悲伤的事实。。。拥有有限的空间,你可以对有限的数字进行编码,而实数是不可数的。-另一方面,当您测量地球-太阳距离时,第16位的误差相当于10μm量级的误差。如果你在使用计算机时需要更高的精度,你可以拥有它。但这并不常见。@gboffi谢谢你的评论!“你能告诉我如何修正计算吗?”如果对你来说,4.1意味着
41/10
,那么
41*1\u 000/10
就起作用了。