js 数字运算 出现精度问题 类似1e-8, 解决方案

发布时间 2023-12-15 21:21:56作者: 完美前端
其实我也是最近遇到这个问题,我发现 0.000000001 这样的数字会被转成科学计数法 1e-8类似这样的,但是小数点前面要是有一个非0的数字就不会自动转了,所以我是这么搞的,测试了常见的浏览器没有啥问题:

let num = 0.00000001;
let result = String(num);

// 判断一下有没有1e-8的-号
if (result.indexOf('-') >= 0) {
    result = '0' + String(Number(result) + 1).substr(1);
}