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中整数相乘不会出现精度丢失,计算错误的奇葩问题,所以想法设法把小数放大成整数,计算完成之后再缩小。