概述
>>> 0.1+0.2
0.30000000000000004
>>>
>>> 0.1+0.2 == 0.3
False
>>> round(0.1+0.2,1) == 0.3
True
>>>
这个问题叫做 不确定尾数问题
不是只在python中存在 在很多编程语言中都存在
它涉及到了计算机对数字运算的内部实现原理
浮点数间运算存在不确定尾数,不是Bug
在计算机中所有数字都是由2进制表示
严格来说 53位二进制表示数字部分
由于二进制和十进制不存在严格的对等方式
所以0.1用二进制表示是一个无限小数
计算机只能截取其中的53位 无限接近0.1
计算机只会显示16位
详情视频
round(x,d):对x进行四舍五入 d是小数截取位数
最后
以上就是细心大神为你收集整理的0.1 + 0.2 不等于 0.3的全部内容,希望文章能够帮你解决0.1 + 0.2 不等于 0.3所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复