如何在基于angular8中的焦点输出格式化输入后删除十进制值
How to remove decimal value after the input is formatted based on focus out in angular8
我已经使用货币管道来格式化输入,但是当我从输入字段中出来时,我得到了 .00
,但我想要 1,000,000 美元(没有小数,必要时包括逗号并显示 $ 符号)但现在我是这样得到它的,如果我输入 1000000,它显示为 1,000,000.00 美元,但我希望它是 1,000,000 美元。
HTML:
<input type="text" class="form-control" placeholder="Amount in dolars"
formControlName="amount" autocomplete="off" currencyInput maxDigits="9">
指令:
private regexString(max?: number) {
const maxStr = max ? `{0,${max}}` : `+`;
return `^(\d${maxStr}(\.\d{0,2})?|\.\d{0,2})$`
}
private digitRegex: RegExp;
private setRegex(maxDigits?: number) {
this.digitRegex = new RegExp(this.regexString(maxDigits), 'g')
}
ngOnInit() {
this.el.value = this.currencyPipe.transform(this.el.value, 'USD');
}
@HostListener("focus", ["$event.target.value"])
onFocus(value) {
// on focus remove currency formatting
this.el.value = value.replace(/[^0-9.]+/g, '')
}
@HostListener("blur", ["$event.target.value"])
onBlur(value) {
// on blur, add currency formatting
this.el.value = this.currencyPipe.transform(value, 'USD');
}
在复制粘贴期间和我们出来的时候,即使是那个时候,我也希望格式如前所述,但我尝试使用符号:“1-0.0”,但几乎没有任何效果。
请帮忙
变换后把它模糊化
var lasttrim=this.el.value.substr(-2);
if(lasttrim=="00"){
this.el.value=this.el.value.substr(0,this.el.value.length-3)
}
你的主办活动就是这样
@HostListener("blur", ["$event.target.value"])
onBlur(value) {
// on blur, add currency formatting
this.el.value = this.currencyPipe.transform(value, 'USD');
var lasttrim=this.el.value.substr(-2);
if(lasttrim=="00"){
this.el.value=this.el.value.substr(0,this.el.value.length-3)
}
}
我已经使用货币管道来格式化输入,但是当我从输入字段中出来时,我得到了 .00
,但我想要 1,000,000 美元(没有小数,必要时包括逗号并显示 $ 符号)但现在我是这样得到它的,如果我输入 1000000,它显示为 1,000,000.00 美元,但我希望它是 1,000,000 美元。
HTML:
<input type="text" class="form-control" placeholder="Amount in dolars"
formControlName="amount" autocomplete="off" currencyInput maxDigits="9">
指令:
private regexString(max?: number) {
const maxStr = max ? `{0,${max}}` : `+`;
return `^(\d${maxStr}(\.\d{0,2})?|\.\d{0,2})$`
}
private digitRegex: RegExp;
private setRegex(maxDigits?: number) {
this.digitRegex = new RegExp(this.regexString(maxDigits), 'g')
}
ngOnInit() {
this.el.value = this.currencyPipe.transform(this.el.value, 'USD');
}
@HostListener("focus", ["$event.target.value"])
onFocus(value) {
// on focus remove currency formatting
this.el.value = value.replace(/[^0-9.]+/g, '')
}
@HostListener("blur", ["$event.target.value"])
onBlur(value) {
// on blur, add currency formatting
this.el.value = this.currencyPipe.transform(value, 'USD');
}
在复制粘贴期间和我们出来的时候,即使是那个时候,我也希望格式如前所述,但我尝试使用符号:“1-0.0”,但几乎没有任何效果。
请帮忙
变换后把它模糊化
var lasttrim=this.el.value.substr(-2);
if(lasttrim=="00"){
this.el.value=this.el.value.substr(0,this.el.value.length-3)
}
你的主办活动就是这样
@HostListener("blur", ["$event.target.value"])
onBlur(value) {
// on blur, add currency formatting
this.el.value = this.currencyPipe.transform(value, 'USD');
var lasttrim=this.el.value.substr(-2);
if(lasttrim=="00"){
this.el.value=this.el.value.substr(0,this.el.value.length-3)
}
}