数组相加的时候封装代码:
function arrList (arr) {
const fieldArr = [];
let decimalLength = 1
for (var i = 0; i < arr.length; i++) {
let field = 0
try {
field = arr[i].toString().split(".")[1].length;
} catch (e) {
field = 0;
}
fieldArr.push(field);
}
decimalLength = Math.pow(10, Math.max(...fieldArr));
let add = 0;
arr.forEach(function (item) {
add = add + item * decimalLength;
});
let sum = Math.round(add) / decimalLength;
return sum;
}
单数数字相加时候的代码:
function accuracy (arg1, arg2) {
const arr = [arg1, arg2]
const fieldArr = []
let decimalLength = 1
for (var i = 0; i < arr.length; i++) {
let field = 0
try {
field = arr[i].toString().split(".")[1].length;
} catch (e) {
field = 0;
}
fieldArr.push(field);
}
decimalLength = Math.pow(10, Math.max(...fieldArr));
let add = (arg1 + arg2) * decimalLength;
return Math.round(add) / decimalLength;
}