JS 實現四舍五入保留兩位小數並且添加千位分隔符


var a = "-123456789.078";
a = (Math.round(a * 100) / 100).toFixed(2).toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {return $1 + ",";});
console.log(a)

可以將方法寫成function,也可以自己在VUE或者angular綁定數據的時候直接使用。

 

如果需要保留任意一位小數可以將100寫成變量

function formatNumber(a,n){

  if(n===0){

          a=a.replace(/(\d)(?=(\d{3})+$)/g,"$1,");

       }else{

             n1=Math.pow(10,n);

             a = (Math.round(a * n1) / n1).toFixed(n).toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {return $1 + ",";});

      }   

    return a;  

}

var num1=formatNumber("-123456789.078771",4);

或者方法

function  toThousands(num,n, separator) {
     var parts;
     num = num + "";
     // 判斷是否為數字
     if (!isNaN(parseFloat(num)) && isFinite(num)) {

         n1=Math.pow(10,n);

         num = (Math.round(num* n1) / n1).toFixed(n);


         parts = num.split('.');
         parts[0] = parts[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1' + (separator || ','));

         return parts.join('.');
     }
     return NaN;
}

var num1=toThousands("-123456789.078771",4);

 


免責聲明!

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



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