JS 數字格式千分位相互轉換


 

    1. /** 
    2.         * 將數值四舍五入后格式化. 
    3.         * 
    4.         * @param num 數值(Number或者String) 
    5.         * @param cent 要保留的小數位(Number) 
    6.         * @param isThousand 是否需要千分位 0:不需要,1:需要(數值類型); 
    7.         * @return 格式的字符串,如'1,234,567.45' 
    8.         * @type String 
    9.         */  
    10.       function formatNumber(num,cent,isThousand) {  
    11.         num = num.toString().replace(/\$|\,/g,'');  
    12.   
    13.         // 檢查傳入數值為數值類型  
    14.           if(isNaN(num))  
    15.             num = "0";  
    16.   
    17.         // 獲取符號(正/負數)  
    18.         sign = (num == (num = Math.abs(num)));  
    19.   
    20.         num = Math.floor(num*Math.pow(10,cent)+0.50000000001);  // 把指定的小數位先轉換成整數.多余的小數位四舍五入  
    21.         cents = num%Math.pow(10,cent);              // 求出小數位數值  
    22.         num = Math.floor(num/Math.pow(10,cent)).toString();   // 求出整數位數值  
    23.         cents = cents.toString();               // 把小數位轉換成字符串,以便求小數位長度  
    24.   
    25.         // 補足小數位到指定的位數  
    26.         while(cents.length<cent)  
    27.           cents = "0" + cents;  
    28.   
    29.         if(isThousand) {  
    30.           // 對整數部分進行千分位格式化.  
    31.           for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)  
    32.             num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3));  
    33.         }  
    34.   
    35.         if (cent > 0)  
    36.           return (((sign)?'':'-') + num + '.' + cents);  
    37.         else  
    38.           return (((sign)?'':'-') + num);  
    39.       }  
    40.   
    /**
    1. * 去除千分位

      *@param{Object}num

      */

       

      function delcommafy(num){

      if((num+"").Trim()==""){

      return"";

      }

      num=num.replace(/,/gi,'');

      returnnum;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM