在 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转成字符串