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;

 

posted @ 2017-06-15 17:46  千里独行0321  阅读(5558)  评论(0编辑  收藏  举报