将大金额转换为万、千万、亿等
/**
* @param money 需要转换的金额
* @param digit 需要保留多少位数
*
*/
export const simplifyMoney = (money=0, digit = 1) => {
const numStr = money.toString();
const numSplit = numStr.split(".")[0];
const roundNum = parseInt(money);
const m = Math.pow(10, digit);
if (numSplit.length <= 4) {
return `${numStr}元`;
} else if (numSplit.length > 4 && numSplit.length <= 7) {
const average = roundNum / 10000;
const round = parseInt(average * m) / m;
return `${round}万元`;
} else if (numSplit.length == 8) {
const average = roundNum / 10000000;
const round = parseInt(average * m) / m;
return `${round}千万元`;
} else {
const average = roundNum / 100000000;
const round = parseInt(average * m) / m;
return `${round}亿元`
}
}
金额格式化为千分位形式 例如10,000
/**
* @param money 需要转换的金额
*
*/
export const formattingMoney = (money) => {
return money.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")
}
金额是否需要四舍五入
/**
* @param money 需要转换的金额
* @param digit 需要保留多少位数
*
*/
export const formattingFloat = (money, digit = 2) => {
const m = Math.pow(10, digit);
// parseInt(money * m, 0) / m; 不会产生四舍五入
return Math.round(money * m, 10) / m; // 四舍五入
};