JS用正则表达式给一个数字的整数部分每三位加一个千位符

今天参加了一个前端笔试,最后一道题是给出一长数字,要你写一个函数返回给数字加千分符的效果

eg:传入1234567891.123,最后要输出1,234,567,891.123,问你如何实现。

我回来查了资料后发现可以用正则表达式的零宽断言来做,写是写出来了,但是有俩问题需要大佬回答,我把它们写在代码里了

var thousandBitSeparator = function(numStr){

     var b = /(?<=\d)(\d{3})/g;     //1.断言自身出现的位置的后面能匹配表达式exp,具体怎么匹配的???

     return numStr.replace(b, function($1){

          return ','+$1;

     });

}

alert(thousandBitSeparator('1234567891.123'));//1,234,567,891.123 这样挺完美的

alert(thousandBitSeparator('12345678912.123'));//1,234,567,8912.123 2.这就不符合题意了,怎么改呢???


收到一只叮咚
浏览 842回答 4
4回答

守着星空守着你

最简单的实现:const&nbsp;thousandBitSeparator&nbsp;=&nbsp;(x)&nbsp;=>&nbsp;x.&nbsp;toLocaleString()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript