我想用JavaScript格式化价格.
我想要一个函数,它接受一个float参数并返回如下string格式:
"$ 2,500.00"
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?
我试图用逗号作为千位分隔符在JavaScript中打印一个整数.例如,我想将数字1234567显示为"1,234,567".我该怎么做呢?
我是这样做的:
function numberWithCommas(x) {
x = x.toString();
var pattern = /(-?\d+)(\d{3})/;
while (pattern.test(x))
x = x.replace(pattern, "$1,$2");
return x;
}
Run Code Online (Sandbox Code Playgroud)
有更简单或更优雅的方式吗?如果它也适用于浮点数会很好,但这不是必需的.它不需要特定于语言环境来决定句点和逗号.
我试图动态调整输入的数值以包括千位分隔符
这是我的代码:
function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
<input type="number" onkeyup="this.value=addCommas(this.value);" />
Run Code Online (Sandbox Code Playgroud)
但是当我在4之后输入数字时,该字段被清除.
我出错的任何想法?如果有一个jQuery解决方案,我已经在我的网站上使用它了.