这不是bug

浮点数与浮点数之间运算存在不确定尾数,这不bug很多计算机语言都存在这种情况

因为在计算机中是将0.6和3转化为53位小数之后再进行乘操作,二进制表示小数可以无限接近但无法完全相同,

因此存在不确定尾数

常用round()函数的四舍五入解决该问题:

a=2.7
for i in range(8):
    print(round(a+0.6*i,1))


2.7
3.3
3.9
4.5
5.1
5.7
6.3
6.9

猜你喜欢

转载自blog.csdn.net/qq_41228218/article/details/89209635