我需要在 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,2,345
继续: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(".");
}
关于javascript - Angular 中的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50442409/