Javascript 如何将数字格式化为货币?

Javascript 如何将数字格式化为货币?,javascript,Javascript,我目前正在将数字格式化为货币,但没有处理数组集合。我使用javascript来使用Math.round函数。我想知道如何正确使用这个功能。我感谢你的建议。多谢各位 数组: { "data": [ [ "9812355000", "23397000", "13976000" ] ] } for (var x = 0; x < data.data.length; x++) {

我目前正在将数字格式化为货币,但没有处理数组集合。我使用javascript来使用Math.round函数。我想知道如何正确使用这个功能。我感谢你的建议。多谢各位

数组:

{
    "data": [
        [
           "9812355000",
            "23397000",
            "13976000"
        ]
    ]
}

for (var x = 0; x < data.data.length; x++) {
    for (var i0 = 0; i0 < data.data[x].length; i0++) {
        dynamicColumn += `<td>${data.data[x][i0] === null || data.data[x][i0] === "" 
                        ? 0 
                        : Math.round(data.data[x][i0])}</td>`;
   }
}
或内联:

var formatted = number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');

要实现使用数组指定的输出,可以向后迭代数字(即从最后一个数字开始,移动到第一个数字),然后在3个数字后插入逗号。一些示例代码可能如下所示:

for(let i = numberString.length - 1; i >= 0; i--) {
   if (i % 3 === 0)
      array.insert(i, ','); // this is not a real function. I leave it up to you to implement this. first param is index and second is what to insert
}

您可以使用Intl.NumberFormat().format(x):

函数myFunction(){
var x=document.getElementById(“值\未格式化”).value
变量a=Intl.NumberFormat().format(x)
var text=“货币格式:“+a+”
”; document.getElementById(“值格式化”).innerHTML=text; }

格式

的可能副本
var formatted = number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
for(let i = numberString.length - 1; i >= 0; i--) {
   if (i % 3 === 0)
      array.insert(i, ','); // this is not a real function. I leave it up to you to implement this. first param is index and second is what to insert
}