/** * 为对象、数组、字符串等数据去空 * * @param data 数据 * @returns {string|null|*} */ export function trim (data) { if (data == null) { return null } if (typeof data === 'string') { return data.trim() } if (data instanceof Array) { for (const item of data) { trim(item) } } if (typeof data === 'object') { for (const key in data) { data[key] = trim(data[key]) } } return data } export function addPrecision(num1, num2) { return numAdd(num1, num2); } /** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失。 * * @param num1加数1 | num2加数2 */ function numAdd(num1, num2) { var baseNum, baseNum1, baseNum2; var precision;// 精度 try { baseNum1 = num1.toString().split(".")[1].length; } catch (e) { baseNum1 = 0; } try { baseNum2 = num2.toString().split(".")[1].length; } catch (e) { baseNum2 = 0; } baseNum = Math.pow(10, Math.max(baseNum1, baseNum2)); precision = (baseNum1 >= baseNum2) ? baseNum1 : baseNum2; return ((num1 * baseNum + num2 * baseNum) / baseNum).toFixed(precision); }