JS bug 浮点数精度问题 day02-4
发布日期:2022-03-09 00:49:09 浏览次数:48 分类:技术文章

本文共 558 字,大约阅读时间需要 1 分钟。

var a = 0.1;        var b = 0.2;        console.log(a + b); // JS的浮点数存在精度问题         if (a + b == 0.3) {            console.log('你成功了吗');        }        // console.log(a+b);

这里a+b打印出来是0.30000000000000004.不是0.3,这是js从出生就有的bug,是底层二进制转换出了问题,下面来康康3种解决方案

1.用乘除

// 解决方法1 console.log((a * 10 + b * 10) / 10); // 0.3

2.用toFixed方法

// 解决方法2 保留小数位数 toFixed(2):保留两位小数        console.log((a + b).toFixed(2));

3.用数学公式

// 解决方法3 数学公式         console.log(Math.floor(a + b)); // 向下取整        console.log(Math.ceil(a + b)); // 向上取整        console.log(Math.round(a + b)); // 四舍五入

转载地址:https://blog.csdn.net/m0_56495610/article/details/121736359 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JS Null与Undefined day02-2
下一篇:[AcWing]Java——快速排序

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月26日 17时08分08秒