/**
* 格式化金额 - 数字千分化
* @param {number | string} num - 输入的数字或字符串
* @returns {string} - 格式化后的金额字符串,空值时返回 '-'
*/
export function numToMoney(num) {
// 检查输入是否为空
if (num === null || num === undefined || num === '') {
return '-';
}
// 将输入的数字转换为字符串
const str = num.toString();
// 分离整数部分和小数部分
const [integerPart, decimalPart] = str.split('.');
// 处理整数部分,千分位分隔
const formattedInteger = integerPart
.split('')
.reverse()
.reduce((prev, next, index) => {
return (index % 3 ? next : next + ',') + prev;
});
// 合并整数部分和小数部分
return decimalPart ? `${formattedInteger}.${decimalPart}` : formattedInteger;
}