首页 > 解决方案 > 当我输入导致错误值时,角小数管四舍五入

问题描述

我使用了Angular的十进制管道,如下所示:

<input pInputText type="number" [ngModel]="factor | number: '.2'" (ngModelChange)="factor=$event">

当我的页面加载时它正在工作。我在.ts文件中将因子设置为 50,它在 UI 上显示为 50.00。但是,当我删除该值并尝试输入 77 时,当我输入第一个数字时,它使值变为 7.00,而第二个数字最终变为 7.007。所有价值观都在发生这种情况。我不希望它表现得那样。我在这里做错什么了吗?

StackBlitz 位于:https ://stackblitz.com/edit/angular-ke8dd9

标签: angular

解决方案


这种行为是因为管道在用户第一次开始输入时触发。这是因为ngModelChange设置值的事件factor。如果您希望格式化数字,我建议使用blur事件来代替,一旦用户离开该字段,它将格式化该字段。

<input pInputText type="number" [ngModel]="factor | number: '.2'" (blur)="factor=$event">

堆栈闪电战


推荐阅读