function calculate(num1, num2) {
let number1 = Number(num1 || 0);
let number2 = Number(num2 || 0);
// 截取小数的位数
function zero(number) {
let arr = number.toString().split(".");
if (arr.length == 1) {
return 0;
} else {
return arr[1].length;
}
}
// 取小数位最多的值,获取10的幂次值
let pow = Math.pow(10, Math.max(zero(number1), zero(number2)));
// 这一步的操作,是因为数字和小数相乘都有可能得出小数
// 这里因为小数相乘后,已经获取对应的精度要求,后面多余的小数直接处理掉
let a = Number((number1 * pow).toFixed(0));
let b = Number((number2 * pow).toFixed(0));
// (a* b) / (pow * pow) // 相乘
return (a + b) / pow; // 相加,这里可以根据自己业务需求更改
}
12-29
1671
07-04
271