2017-03-15 6 views
1

AngularJs通貨フィルターでは、括弧付きの負の数値がフォーマットされます。ここでは角2の通貨パイプを使用していますが、負の数をかっこに書式化しません。Angular2通貨フィルターは括弧付きの負の数値をフォーマットします

単なる-$18.00と表示されていますが、このように表示したいのですが、($18.00)です。どうすればこれを実現できますか?

{{ -18 | currency }} 

私が望む結果をご希望の場合は、あなたが簡単にあなたにそれと同じ効果を与えるために、独自のカスタムパイプを書くことができます代わりに-$18.00

+0

質問が不明瞭です。 '({{-18 |通貨}})' –

+0

_ "AngularJs通貨フィルタでは、括弧付きの負の数値をフォーマットします。たぶんあなたはカスタムフィルターまたは2つのフィルターを使用しました。 – zeroflagL

+0

これは他のブラウザではないIEでのみ発生します – praveen

答えて

0

($18.00)です。

@Pipe({ name: 'myCurrency' }) 
export class MyCurrencyPipe implements PipeTransform { 
    transform(value: number): string { 
    if (value < 0) { 
     return `(${value.toFixed(2)})`; 
    } 
    return value.toFixed(2); 
    } 
} 

(パイプとPipeTransformをインポートすることを忘れないでください)。

上記は粗いバージョンです。適切なバージョンでは、入力値のnull/undefinedがチェックされます。また、既存のCurrencyPipe.transformを使用して、独自の実装ではなく、そのロジックをピギーバックすることもできます。

キーの持ち帰りは、自分のパイプを書くことを恥ずかしがることではありません。彼らは実装が簡単です。

関連する問題