如何在角度组件中使用DecimalPipe?

Sou*_*war 3 pipe angular-pipe angular angular7

我有一个要求,我必须使用ts的十进制管道来转换数字

而不是像这样使用十进制管道

<td>{{rmanFmvRulesDef.max  | number :'1.2-2'}}</td>
Run Code Online (Sandbox Code Playgroud)

我想从组件中操作它,有人可以帮助我吗?

小智 11

像往常一样,您可以依靠DI。您可以在ts中覆盖转换功能。

import { DecimalPipe } from '@angular/common';
class MyService {
  constructor(private _decimalPipe: DecimalPipe) {
}
transformDecimal(num) {
    return this._decimalPipe.transform(num, '1-2.2');
   }
}
Run Code Online (Sandbox Code Playgroud)

在提供者数组中添加DecimalPipe,否则将出现错误

providers: [DecimalPipe,...]
Run Code Online (Sandbox Code Playgroud)


Wil*_*mer 5

您还可以使用formatNumber函数(DecimalPipe 在幕后使用它)。无需处理 DI 或向提供程序数组添加任何内容。