js 千分正負號顏色格式轉換


在做網頁報表時,常用的格式轉換


FormatNumber( 欲輸入的金額(可以是%數字) , 至小數點第幾位 , 欲修改之物件內容 , 是否開啟正負顏色);


ex :
FormatNumber( 1277.32 , 2 , BetScoreTag[i] , 1 );  


function FormatNumber(n , m , obj , c ) {
   
     var _tmpNum = n ; 
   
     if( String(n).substr(-1,1) == "%")
     {
         _tmpNum = Number(n.split("%")[0]);
     }
   
     _tmpNum = _tmpNum.toFixed(m);

     _tmpNum += "";
     var arr = _tmpNum.split(".");
  
     var re = /(\d{1,3})(?=(\d{3})+$)/g;
      
     var spend = arr[0].replace(re,"$1,") + (arr.length == 2 ? "."+arr[1] : "");
      
     if( parseFloat(spend) < 0 && c == 1 )
     {
           obj.style.color = "D81A1A";
     }
 
     obj.innerHTML = spend;
     
     if( String(n).substr(-1,1) == "%")
     obj.innerHTML = spend +(String(n).substr(-1,1));

}

沒有留言:

張貼留言