python初级学习
>>> 19.3-0.6-12.06.699999999999999
>>> float (19.3-0.6-12)
6.699999999999999
>>> 19.3-0.6
18.7
>>> 18.7-12
6.699999999999999
>>> 18.7-12.0
6.699999999999999
这是为什么啊 本帖最后由 jackz007 于 2020-11-9 10:39 编辑
很正常,因为计算机对浮点数的储存有一定的误差。 jackz007 发表于 2020-11-9 10:38
很正常,因为计算机对浮点数的储存有一定的误差。
如果想要正确的结果,应该怎么弄啊 本帖最后由 jackz007 于 2020-11-9 20:39 编辑
娴酱! 发表于 2020-11-9 20:07
如果想要正确的结果,应该怎么弄啊
“正确的结果” 是非常错误的说法,浮点数的表达误差是与生俱来无法克服的缺陷,任何一门编程语言都一样。只能想办法让这个值看起来更靠谱一些,通过四舍五入,把小数位数显示少一点就可以了。
试试这个代码,只显示 2 位小数的结果
print('%.2f' % (18.7-12))
页:
[1]