【发布时间】:2021-09-09 08:31:46
【问题描述】:
我有一个关于十进制数的问题。我需要将我的数字转换为十进制,但我无法得到我想要的。
我想要的是:
- 我想将 130000 转换为 130,000 并将 20911.56 转换为 20,911,56(等等)
-
首先我在这里搜索并找到了一些更改我的号码的解决方案:
function number_format(string,decimals=2,decimal=',',thousands='.',pre='R$ ',pos=' Reais'){ var numbers = string.toString().match(/\d+/g).join([]); numbers = numbers.padStart(decimals+1, "0"); var splitNumbers = numbers.split("").reverse(); var mask = ''; splitNumbers.forEach(function(d,i){ if (i == decimals) { mask = decimal + mask; } if (i>(decimals+1) && ((i-2)%(decimals+1))==0) { mask = thousands + mask; } mask = d + mask; }); return pre + mask + pos; } var element = document.getElementById("format"); var money= number_format("130000",2,',','.'); element.innerHTML = money;
上面的这段代码给了我 20.911,56,但它没有给我 130,000。相反,它是 1,300,00。我该怎么办?我不能同时拥有它们吗?
【问题讨论】:
-
这个答案适用于你的两种情况:stackoverflow.com/questions/2901102/…
标签: javascript format numbers decimal