JS 實現數字每三位數逗號分隔


方法一:

// num 可以是 number 或者 string 類型
let num = 1234; 
let splitNum = Number(num).toLocaleString()
console.log(splitNum) // 1,234

Number() 可以換成 parseInt() 或者 parseFloat()。但是 parseInt() 不會保留小數,而 Number()parseFloat() 則會保留小數點后三位。

方法二:

自定義格式化函數:

如果將 parseInt(n).toString(); 換成 Number() 或者 parseInt() 得到的結果會不准確

function format_number(n){
  var b = parseInt(n).toString();
  var len = b.length;
  if(len<=3){return b;}
  var r=len%3;
  // b.slice(r,len).match(/\d{3}/g).join(",") 每三位數加一個逗號。
  return r > 0 ? b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(",")
    	: b.slice(r,len).match(/\d{3}/g).join(",");
 }
 
var a="53669988.000";
alert(format_number(a)); // 53,669,988
alert(format_number("wahh")); // NAN
alert(format_number(0));
alert(format_number(6698.0023)); // 6,698

另一種封裝

   thousandBitSeparator(textValue) {

  if (textValue === '') return '';

  var textValueFormat = Number(textValue);

  if (!isNaN(textValueFormat)) {

    return textValueFormat.toLocaleString('en-US');
  } else {
    return textValue;
  }
}

參考文章:https://blog.csdn.net/fyq891014/article/details/41869807


免責聲明!

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



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