web-dev-qa-db-ja.com

角度のコンポーネントからDecimalPipeを使用する方法?

Tsの小数点パイプを使用して数値を変換する必要があるという要件があります

このように小数パイプを使用する代わりに

<td>{{rmanFmvRulesDef.max  | number :'1.2-2'}}</td>

コンポーネントから操作したいのですが、誰か助けてくれますか?

6

いつものようにangularでDIを信頼できます。tsで変換関数をオーバーライドできます。

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

プロバイダー配列にDecimalPipeを追加します。追加しない場合、エラーが発生します

providers: [DecimalPipe,...]
2
parag badala

Stackblitzの例を見ることができます

次のように呼び出すだけです:element.price = format.formatCurrency(element.price);

ヘルパーを定義したら。例として_<h2 *ngFor="let item of item">{{ item.price }}</h2>_で定義できます。

成分:

_import { accounting } from 'accounting';

export function formatCurrency(value) {
    return accounting.formatMoney(value, '', 0, ' ', '.');
}

export function unformatCurrency(value) {
    return accounting.unformat(value);
}
_

注:return accounting.formatMoney(value, '', 0, ' ', '.'); _' '_および_._は、_,_またはスペースを使用する任意のスプリッターで変更できます。 10進数の後ろに何桁あるかについて、_0_数を必要な桁数に更新できます。

2
Mukyuu