1. 前面有篇博客中写过一个面试题,就是把一个数字每三位加一个逗号,之前写的代码是这样的:
这里用的方法是解析字符串得到的,并且没有考虑小数的情况,后来在百度的Tangarm类库中看到也有这个方法,不过是用正则实现的,很巧妙:
function numberFormat(val){
var numArr=String(val).split(".");
numArr[0] = numArr[0].replace(/(\d)(?=(\d{3})+$)/ig,"$1,");
return numArr.join(".");
}
//Test
console.log(numberFormat(123456));//123,456
console.log(numberFormat(12345678));//12,345,678