带逗号和小数点的数字格式

Number format with comma and decimal points

本文关键字:数字 格式 小数点      更新时间:2023-09-26

我试过使用Number(x).toLocaleString(),但这只给了我10,000

当我使用parseFloat(row.profit).toFixed(2)时,它给了我 10000.00。我尝试组合parseFloat(Number(row.profit)toLocaleString()).toFixed(2)但没有给我所需的输出,应该是 10,000.00。我怎样才能做到这一点?

您可以通过

测试语言环境字符串中是否存在.来使用快速技巧:

function localeFormat(x) {
  var num = Number(x).toLocaleString();
  if (num.indexOf("/.") > 0) {
    num += ".00";
  }else{
    var n = parseFloat(x).toFixed(2).toString();  
    num = Number(n).toLocaleString();
  }
  return num;
}
var strs = ["10000", "10000.45", "10000.45768"];
for(var i = 0; i < strs.length; i++){
  console.log(strs[i] + " -> " + localeFormat(strs[i]));
}