js实现小数相乘

function plusFloat(num1, num2) {
             var r1, r2, m;
            try {
                r1 = num1.toString().split('.')[1].length;
            } catch (e) {
                r1 = 0;
            }
            try {
                r2 = num2.toString().split(".")[1].length;
            } catch (e) {
                r2 = 0;
            }
            m = Math.pow(10, Math.max(r1, r2));
            lastA = Math.round(num1 * m + num2 * m) / m;
            return lastA;
        }
        var a = plusFloat(1.528, 1.2);
        console.log(a);

Matn.pow()是计算底数的多少次幂,在js中整数相乘不会出现精度丢失,计算错误的奇葩问题,所以想法设法把小数放大成整数,计算完成之后再缩小。

你可能感兴趣的:(js实现小数相乘)