UNPKG

web-utils-super

Version:

前端函数库

26 lines (24 loc) 766 B
/** * @desc: 减法运算,避免数据相减小数点后产生多位数和计算精度损失 * @param {Number} augend 相减的第一个数 * @param {Number} addend 相减的第二个数 * @return {Number} 差 */ function subtract(augend, addend) { var baseNum, baseNum1, baseNum2 var precision // 精度 try { baseNum1 = augend.toString().split('.')[1].length } catch (e) { baseNum1 = 0 } try { baseNum2 = addend.toString().split('.')[1].length } catch (e) { baseNum2 = 0 } baseNum = Math.pow(10, Math.max(baseNum1, baseNum2)) precision = baseNum1 >= baseNum2 ? baseNum1 : baseNum2 return Number(((augend * baseNum - addend * baseNum) / baseNum).toFixed(precision)) } module.exports = subtract