描述:对数字进行进率转化,并且保留指定位的小数,能够自动去掉小数末尾的零。
// 计算方法,num为当前的数 rate为进率 digit为保留的小数位
export const calculation = (num: number, rate: number, digit: number) => {
return parseFloat((Math.trunc(num) / rate).toFixed(digit) + '');
};
描述:数字千分位间隔
export const format = (n) => {
let num = n.toString();
let decimals = '';
// 是否有小数
num.indexOf('.') > -1 ? decimals = num.split('.')[1] : decimals;
let len = num.length;
if (len <= 3) {
return num;
} else {
let temp = '';
let remainder = len % 3;
decimals ? temp = '.' + decimals : temp;
if (remainder > 0) { // 不是3的整数倍
return num.slice(0, remainder) + ',' + num.slice(remainder, len).match(/\d{3}/g).join(',') + temp;
} else { // 3的整数倍
return num.slice(0, len).match(/\d{3}/g).join(',') + temp;
}
}
}