format.ts 906 B

123456789101112131415161718192021222324252627282930
  1. /**
  2. * 金额单位转换:元 -> 万元
  3. * @param val 原始金额(元)
  4. * @param digit 保留小数位数,默认为 2
  5. * @returns 转换后的字符串(万元)
  6. */
  7. export const formatAmount = (val: any, digit: number = 2) => {
  8. if (val === undefined || val === null || val === '') return '0.00';
  9. const num = Number(val);
  10. if (isNaN(num)) return '0.00';
  11. return (num / 10000).toFixed(digit);
  12. };
  13. /**
  14. * 金额千分位格式化
  15. * @param val 原始金额
  16. * @param digit 保留小数位数
  17. * @returns 格式化后的字符串 (如: 1,234.56)
  18. */
  19. export const formatWithComma = (val: any, digit: number = 2) => {
  20. if (val === undefined || val === null || val === '') return '0.00';
  21. const num = Number(val);
  22. if (isNaN(num)) return '0.00';
  23. const options = {
  24. minimumFractionDigits: digit,
  25. maximumFractionDigits: digit,
  26. };
  27. return num.toLocaleString('en-US', options);
  28. };