千位數換算的封裝

function toThousands(number) {
  var num = number + "";
  num = num.replace(new RegExp(",","g"),"");
  // 正負號處理
  var symble = "";
  if(/^([-+]).*$/.test(num)) {
    symble = num.replace(/^([-+]).*$/,"$1");
    num = num.replace(/^([-+])(.*)$/,"$2");
  }

  if(/^[0-9]+(\.[0-9]+)?$/.test(num)) {
    var num = num.replace(new RegExp("^[0]+","g"),"");
    if(/^\./.test(num)) {
      num = "0" + num;
    }

    var decimal = num.replace(/^[0-9]+(\.[0-9]+)?$/,"$1");
    var integer= num.replace(/^([0-9]+)(\.[0-9]+)?$/,"$1");

    var re=/(\d+)(\d{3})/;

    while(re.test(integer)){
      integer = integer.replace(re,"$1,$2");
    }
    return symble + integer + decimal;

  } else {
    return number;
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章