开发者社区> 问答> 正文

实现千位分隔符

// 保留三位⼩数
parseToMoney(1234.56); // return '1,234.56'
parseToMoney(123456789); // return '123,456,789'
parseToMoney(1087654.321); // return '1,087,654.321'

【精品问答】前端面试手册

【精品问答】前端面试手册之算法/笔试题篇

展开
收起
前端问答 2019-12-15 16:23:52 922 0
1 条回答
写回答
取消 提交回答
  • 前端问答小助手
    function parseToMoney(num) {
      num = parseFloat(num.toFixed(3));
      let [integer, decimal] = String.prototype.split.call(num, '.');
      integer = integer.replace(/\d(?=(\d{3})+$)/g, '$&,');
      return integer + '.' + (decimal ? decimal : '');
    }
    

    正则表达式(运⽤了正则的前向声明和反前向声明):

    function parseToMoney(str){
      // 仅仅对位置进⾏匹配
      let re = /(?=(?!\b)(\d{3})+$)/g;
      return str.replace(re,',');
    }
    
    2019-12-15 16:25:02
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载