Fork me on GitHub

前端试题-js为数字添加千位分隔符

一种方法为:

function test(str){
  var iNum = str.length % 3;
  var prev = '';
  var iNow = 0;
  var temp = '';
  var arr = [];
  if (iNum != 0){
    prev = str.substring(0, iNum);
    arr.push(prev);
  }
  str = str.substring(iNum);
  for (var i = 0; i < str.length; i++){
    iNow++;
    temp += str[i];
    if (iNow == 3 && temp){
      arr.push(temp);
      temp = '';
      iNow = 0;
    }
  }
  return arr.join(',');
}

str = '98156464343436465';
test(str);


另一种方法用正则来做

function test(str){
  var re = /(?=(?!\b)(\d{3})+$)/g;
  return str.replace(re, ',');
}

str = '98156464436465';
test(str);

posted @ 2016-02-24 18:17  sunshinegirl_7  阅读(4005)  评论(0编辑  收藏  举报