實現千元分隔符javascript代碼

dgy7 10年前發布 | 964 次閱讀 JavaScript

function thousand(text){
      //將傳過來的數據轉換成字符串
      var str=text.toString();

  //判斷是否存在$或者¥符號 后綴是否是'0.00'
  var prefix=/\¥/g.test(str)?'¥':(/\$/g.test(str)?'$':'');
  var postfix=/\¥|\$/g.test(str)?'.00':'';

  //消除'.'  因為有些值比如 $10.00
  if(str.indexOf(".")!=-1){
     var result=/\./g.exec(str);
     var result2=str.substr(0,result['index']);//獲取小數點前的所有值
    }else{
      var result2=str;
    }

    //將非數字剔除
    var num=result2.replace(/[\D*]/g,'');

    //將字符串換成數組 下面可以使用splice函數
    var arr=num.split('');

    //獲取有多少個分割點
    var dot_num=Math.ceil(arr.length/3)-1;
    if(dot_num<0){//如果數字的值大小根本達不到上千  就直接返回
      return str;
    }


    for(var i=1,j=0;i<=dot_num;i++,j++){
        //給數組添加上分割點','
       arr.splice((arr.length-3*i-j),0,',');
    }

    //返回數字  如果傳過來的數字有¥或者有$或者有‘.00’就返回相應的數值
    return prefix+arr.join('')+postfix; 

}</pre>

 本文由用戶 dgy7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!