在 Javascript 函数 (ASP.net) 上使用句点的千位分隔符

Thousands separator using Period on Javascript Function (ASP.net)

本文关键字:句点 分隔符 千位 函数 Javascript ASP net      更新时间:2023-09-26

如果重复,很抱歉,但我真的对这些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})/,'$1'+'.'+'$2');
 }
 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 首先转换为字符串。