js中,为什么 0.01+0.05≠0.06?
发布于 7 年前 作者 chinahsj 6107 次预览 最后一次回复是 7 年前 来自 问答
在项目中偶然发现,0.01+0.05并不等于0.06!很震惊,求大佬解释下!! [2U659D]838XG7U3883CIW7E.png](//static.cnodejs.org/FtQBiaYYPhjPvrULGVlxmw7vmHor)
20 回复
在项目中偶然发现,0.01+0.05并不等于0.06!很震惊,求大佬解释下!! [2U659D]838XG7U3883CIW7E.png](//static.cnodejs.org/FtQBiaYYPhjPvrULGVlxmw7vmHor)
说的其他语言就相等似得
说的其他语言就相等似得
@243011068 @justjavac 看PowerScript
去看下浮点数的原理~~ 是有精度损失的。 你可以用 number.js 解决
@justjavac 非常感谢!
@zuohuadong 好的,我去了解下
程序员不知道浮点运算精度才是令人震惊的
@dbit-xia
IEEE754标准了解一下 自豪地采用 CNodeJS ionic
0.1+0.2 了解下
@CodeofGame
@AnzerWall
打脸了,java和.net原来都有这个问题,又长姿势了!!!
nodejs 的伙伴们,推荐给你们decimal.js api:http://mikemcl.github.io/decimal.js/ github:https://github.com/MikeMcl/decimal.js
这是程序员基本功吧
归根到底是2进制的问题
因为js中浮点数的精度是小数点后17位,有精度的损失
@remembergf 逻辑错了
@waitingsong 什么逻辑错了啊,这个不就是关于浮点数值计算时会产生摄入误差的问题吗?我想错了吗
浮点数在计算机中的存储