浮点数与浮点数之间运算存在不确定尾数,这不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
浮点数与浮点数之间运算存在不确定尾数,这不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