繁体   English   中英

Angular中的分隔符

[英]Separator in Angular

我需要在Ionic应用程序中为输入实现千位分隔符。 当用户键入它们时,我需要实现这一点。 我实现了以下实现:

在Ts文件中:

 public amount:string;   // model

  format(){  

  this.amount=this.separator(this.amount)

  }

   separator(amount)
  {
    var num_parts = amount.split(".");
    num_parts[0] = num_parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return num_parts.join(".");
  }

在html中:

 <ion-input [(ngModel)]="amount" (keyup)="format()"  placeholder="Text Input"></ion-input>

直到数字位数保持4(在数字部分中)它都可以正常工作。当我有4个以上的数字时,它会变坏。 由于在第二遍中是在“ keyup”上调用它的,因此在第二个数字之后添加了另一个“”,如下所示:

1,2345

并继续:1,2,3,455

我如何才能正确实现此功能,即在用户键入它们时添加千位分隔符。 感谢您查看这个。

我的实现存在问题:我没有删除以前添加的逗号。 请参阅以下片段中的评论

  separator(amount)
  {
    var num_parts = amount.split(".");
   num_parts[0]= num_parts[0].replace(/,/g , ""); // I was not removing previously added comma 
    num_parts[0] = num_parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
    return num_parts.join(".");
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM