Python 中不能正确输出两个浮点数乘积的解决方法

时间:2024-11-05 07:15:47

【问题描述】
在 Python 中,不能正确输出两个浮点数的乘积。例如:

>>> 4.5*7.9
35.550000000000004

【原因分析】
原因在于在Python中,一些有限十进制小数是使用无限的二进制小数表示的,导致计算误差。

【解决方法】
要精确地计算两个浮点数乘积,可采用如下代码。

from decimal import Decimal
t=Decimal('4.5')*Decimal('7.9')
print(t)