在 Javascript 函数 (ASP.net) 上使用句点的千位分隔符
Thousands separator using Period on Javascript Function (ASP.net)
抱歉,如果重复了,但我真的对这些感到困惑 javascript。
如果愿意,请帮助我。
我有这个 javascript 函数,这个函数可以用逗号添加千位分隔符:
function addCommas(x) {
//remove commas
retVal = x ? parseFloat(x.replace(/,/g, '')) : 0;
//apply formatting
return retVal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
我在文本框中调用这个函数,像这样:
Number Format <asp:TextBox ID="txtPrice" runat="server" onkeyup="this.value=addCommas(this.value);"></asp:TextBox>
输出看起来像这样(分隔符使用逗号):
60,000,234
但我想要输出,看起来像这样(使用句点的分隔符):
60.000.234
请给我一个仍然使用这些 Javascript 函数的解决方案。谢谢
我在评论中注意到我的代码有什么问题。
试试这个,我很久以前用过。
function addCommas(x) {
var retVal=x.toString().replace(/[^\d]/g,'');
while(/(\d+)(\d{3})/.test(retVal)) {
retVal=retVal.replace(/(\d+)(\d{3})/,''+'.'+'');
}
return retVal;
}
Number <input type="text" onkeypress="this.value=addCommas(this.value);" onkeyup="this.value=addCommas(this.value);" />
希望对您有所帮助。
function addCommas(x) {
x = '' + x;
//remove commas
retVal = x ? parseFloat(x.replace(/,/g, '')) : 0;
//apply formatting
return retVal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
还是你的函数,只是先把变量x转成字符串
抱歉,如果重复了,但我真的对这些感到困惑 javascript。 如果愿意,请帮助我。
我有这个 javascript 函数,这个函数可以用逗号添加千位分隔符:
function addCommas(x) {
//remove commas
retVal = x ? parseFloat(x.replace(/,/g, '')) : 0;
//apply formatting
return retVal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
我在文本框中调用这个函数,像这样:
Number Format <asp:TextBox ID="txtPrice" runat="server" onkeyup="this.value=addCommas(this.value);"></asp:TextBox>
输出看起来像这样(分隔符使用逗号):
60,000,234
但我想要输出,看起来像这样(使用句点的分隔符):
60.000.234
请给我一个仍然使用这些 Javascript 函数的解决方案。谢谢
我在评论中注意到我的代码有什么问题。
试试这个,我很久以前用过。
function addCommas(x) {
var retVal=x.toString().replace(/[^\d]/g,'');
while(/(\d+)(\d{3})/.test(retVal)) {
retVal=retVal.replace(/(\d+)(\d{3})/,''+'.'+'');
}
return retVal;
}
Number <input type="text" onkeypress="this.value=addCommas(this.value);" onkeyup="this.value=addCommas(this.value);" />
希望对您有所帮助。
function addCommas(x) {
x = '' + x;
//remove commas
retVal = x ? parseFloat(x.replace(/,/g, '')) : 0;
//apply formatting
return retVal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
还是你的函数,只是先把变量x转成字符串