* @param {Number} num num为原数字
* @param {Number} fix fix是保留的小数位数
* @param {Number} rule 要处理数据的规则,0 向上取整;1 向下取整;2,四舍五入
* @return {Number} 处理完的数字
*/
export function getNumber(num, fix, rule) {
let results = 0;
if (rule == 0) {
results = upFixed(num, fix)
} else if (rule == 1) {
results = downFixed(num, fix)
} else if (rule == 2) {
results = num.toFixed(fix)
}
return results;
}
function upFixed(num, fix) {
let result = '0'
if (Number(num) && fix > 0) {
fix = +fix || 2
num = num + ''
if (/e/.test(num)) {
result = num
} else if (!/\./.test(num)) {
result = num + `.${Array(fix + 1).join('0')}`
} else {
num = num + `${Array(fix + 1).join('0')}`
let reg = new RegExp(`-?\\d*\\.\\d{0,${fix}}`)
let floorStr = reg.exec(num)[0]
if (+floorStr >= +num) {
result = floorStr
} else {
let floorNumber = +floorStr + +`0.${Array(fix).join('0')}1`
let point = /\./.test(floorNumber + '') ? '' : '.'
let floorStr2 = floorNumber + point + `${Array(fix + 1).join('0')}`
result = reg.exec(floorStr2)[0]
}
}
}
return result
}
function downFixed(num, fix) {
let result = '0', num1 = Number(fix) + 2;
let num2 = num.toFixed(num1);
result = num2.substring(0, num2.indexOf(".") + 3);
return result;
}
export function checkEmpty(str) {
if (str == 'undefined' || !str || !/[^\s]/.test(str)) {
return true;
} else {
return false;
}
}