js 两个数字相加,33.33 + 0.01为什么会等于33.3399999996?

代码:
js 两个数字相加,33.33 + 0.01为什么会等于33.3399999996?

打印:
js 两个数字相加,33.33 + 0.01为什么会等于33.3399999996?

因为后端给的是string类型不能直接相加,所以我转为number后相加 就成了上图那样的结果了

Number() parseFloat()都试了都是一样不行

回答

可以用科学计算法处理,https://blog.csdn.net/weixin_...

我自己用的加法封装

function NumAdd() {

let sum = 0; // 用来保存总和

for (var i = 0; i < arguments.length; i++) {

let col = Number(arguments[i]);

if (!isNaN(col)) {

sum += col * 1000;

}

}

return sum / 1000;

}

NumAdd(33.33,0.01) //=>33.34

https://blog.csdn.net/cc_chen...

原因请百度0.1+0.2
解决办法就是重新toFixed

https://0.30000000000000004.com

以上是 js 两个数字相加,33.33 + 0.01为什么会等于33.3399999996? 的全部内容, 来源链接: utcz.com/a/60739.html

回到顶部