Angularから既に組み込まれているCurrencyPipeに問題があります。
CurrencyPipeを使用して通貨記号を表示する必要がありますが、入力番号を指定しない限り使用できません。
CurrencyPipeは現在のロケールを使用して通貨記号を取得するため、入力番号はオプションであると考えていました。
現在の動作:
{{ 1 | currency:'USD' }} --> $1
必要な行動:
{{ null | currency:'USD' }} --> $
これがデフォルトのパイプで可能かどうか知っている人はいますか?ありがとう!!
このシンプルなカスタム通貨パイプをお試しください
{{ null | CustomeCurrency }}</p>
import { Pipe, PipeTransform } from '@angular/core';
import { CurrencyPipe } from '@angular/common';
@Pipe({ name: 'CustomeCurrency' })
export class CustomCurrencyPipe implements PipeTransform {
constructor(private currencyPipe: CurrencyPipe) { }
transform(value: any, currency: string, symbol: boolean = false): string {
if (value != null)
return this.currencyPipe.transform(value, currency, symbol);
return this.currencyPipe.transform(0, currency, symbol).split('0.00')[0];
}
}
通貨パイプがAngular v5で変更されました。symbolDisplayオプション(3番目のパラメーター)はブール値ではなく文字列になりました。受け入れられる値は "code"、 "symbol"または "symbol-狭い"。
エラーメッセージが表示される場合 通貨パイプがAngular v5で変更されました。symbolDisplayオプション(3番目のパラメーター)はブール値ではなく文字列になりました。受け入れられる値は "code"、 "symbol"または "symbol-狭い"。 次に、Angularドキュメントを参照してください。このページのコードサンプルを使用して問題を修正してください。 https://angular.io/api/common/CurrencyPipe