使用方法:
参数: amountFormatte(“需要转换的数值”, “保存几位小数”)
注意: 如果不进行小数位数处理的话,传值的时候只传需要转换的数值即可。
export function amountFormatte(num, decimal = 'noDecimal') {
let num_decimal = Number(num);
// 判断是否为小数
if (String(num).indexOf(".") > -1) {
// 是小数的话,区分是否需要小数位数保留
// 保留小数,对小数部分进行四舍五入保存
if (decimal !== "noDecimal") {
num_decimal = Number(num).toFixed(decimal);
}
// 根据小数点拆分数字,然后对整数部分进行格式化
let num_arr = String(num_decimal).split(".");
return `${num_arr[0].replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, '$1,')}${num_arr[1] ? "."+num_arr[1] : ""}`;
} else {
// 不是小数直接按照整数格式化
return num_decimal.toString().replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, '$1,');
}
}
例子:
- 不做小数处理
- 进行小数处理