实现一个函数 formatNumber(num),格式化数字,每三位加一个逗号

推荐答案

本题详细解读

1. 函数功能

formatNumber(num) 函数的主要功能是将一个数字 num 格式化为每三位加一个逗号的字符串形式。例如,输入 1234567,输出 1,234,567

2. 代码解析

  • num.toString(): 将数字 num 转换为字符串,以便后续使用正则表达式进行处理。
  • replace(/\B(?=(\d{3})+(?!\d))/g, ','): 使用正则表达式进行替换操作。
    • \B: 匹配非单词边界的位置,确保不会在数字的开头或结尾添加逗号。
    • (?=(\d{3})+(?!\d)): 这是一个正向预查,匹配每三位数字的位置。(\d{3})+ 表示连续的三位数字,(?!\d) 确保这些三位数字后面没有更多的数字。
    • g: 全局匹配,确保所有符合条件的位置都被替换。
    • ',': 将匹配到的位置替换为逗号。

3. 示例

4. 注意事项

  • 该函数假设输入 num 是一个有效的数字。如果输入不是数字,可能会导致意外的结果。
  • 该函数适用于整数和小数部分不超过三位的数字。如果小数部分超过三位,可能需要额外的处理。
纠错
反馈