/* eslint-disable no-restricted-properties */ export function accAdd(arg1, arg2) { let r1; let r2; try { r1 = arg1.toFixed(2).split('.')[1].length; } catch (e) { r1 = 0; } try { r2 = arg2.toFixed(2).split('.')[1].length; } catch (e) { r2 = 0; } const m = Math.pow(10, Math.max(r1, r2)); return (arg1 * m + arg2 * m) / m; } // 减法函数 export function Subtr(arg1, arg2) { let r1; let r2; try { r1 = arg1.toFixed(2).split('.')[1].length; } catch (e) { r1 = 0; } try { r2 = arg2.toFixed(2).split('.')[1].length; } catch (e) { r2 = 0; } const m = Math.pow(10, Math.max(r1, r2)); // 动态控制精度长度 const n = r1 >= r2 ? r1 : r2; return parseFloat(((arg1 * m - arg2 * m) / m).toFixed(n)); } // 乘法函数 export function accMul(arg1, arg2) { let m = 0; const s1 = arg1.toFixed(2); const s2 = arg2.toFixed(2); m += s1.split('.')[1].length; m += s2.split('.')[1].length; return ( (Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) / Math.pow(10, m) ); } // 除法函数 export function accDiv(arg1, arg2) { let t1 = 0; let t2 = 0; t1 = arg1.toFixed(2).split('.')[1].length; t2 = arg2.toFixed(2).split('.')[1].length; const r1 = Number(arg1.toFixed(2).replace('.', '')); const r2 = Number(arg2.toFixed(2).replace('.', '')); return (r1 / r2) * Math.pow(10, t2 - t1); }