angular - 如何在失去焦点时将输入文本值格式化为 Angular 4 上的货币?

标签 angular angular2-forms

我想在失去焦点后将输入文本的值格式化为货币。我怎样才能在 angular4 中实现这一点?

<input type="text" name="txtamount" [(ngModel)]="amount" />

如有任何建议,我们将不胜感激。谢谢!

最佳答案

(blur) 上使用 CurrencyPipe 转换。

 <input type="text" name="txtamount" [(ngModel)]="amount" 
        (blur)="transformAmount($event)" [(value)]="formattedAmount"/> 
 <br/>
 <br/>
 <div>
    Formatted Amount on loosing focus: {{ formattedAmount }}
 </div>
 <br/>
 <div>
     Formatted Amount inline with Pipe: {{ amount | currency:'USD'  }}
 </div>

在你的 .ts 代码中,

transformAmount(element: HtmlElement){
    this.formattedAmount = this.currencyPipe.transform(this.amount, 'USD');
    // Remove or comment this line if you dont want 
    // to show the formatted amount in the textbox.
    element.target.value = this.formattedAmount;
}

您需要从 '@angular/common' 导入 CurrencyPipe 并将其添加到 App providers: [ ... ] 中。


演示 StackBlitz

关于angular - 如何在失去焦点时将输入文本值格式化为 Angular 4 上的货币?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45794381/

相关文章:

angular - 无法使用 img ng-src(无法绑定(bind)到 ng-src,因为它不是 img 的已知属性)

angular - 使用 Angular Material 2 输入的自定义样式

angular - 如何在 Angular 共享库中创建模型?

angular - 一种使用 Angular Material Tab 更新 Url 的方法

javascript - 文件处理 typescript Angular 2 的基本语法

javascript - *ngFor 使用异步管道进行本地分配并减少订阅数量

angular - 尝试使用 *ngFor 显示嵌套的 FormGroup,不知道如何访问它

html - angular2 自定义指令输入语法

Angular 2/4 自动完成搜索框

HTML 选择标签动画的选项