/**
|
* 为对象、数组、字符串等数据去空
|
*
|
* @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);
|
}
|
|