addNum(num1, num2) {
var sq1 = zero(num1);
var sq2 = zero(num2);
//截取小数的位数
function zero(number) {
let arr = number.toString().split(".");
if (arr.length == 1) {
return 0;
} else {
return arr[1].length;
}
}
//取小数位最多的值,获取10的幂次值
var m = Math.pow(10, Math.max(sq1, sq2));
//这一步的操作,是因为数字和小数相乘都有可能得出小数
//这里因为小数相乘后,已经获取对应的精度要求,后面多余的小数直接处理掉
var a = Number((num1 * m).toFixed(0));
var b = Number((num2 * m).toFixed(0));
return (a + b) / m; //这里可以根据自己业务需求更改 ,我这里只做数字相加
}
js 小数高精度计算 处理计算中多出的小数
最新推荐文章于 2024-02-26 17:19:49 发布