2017-03-15 5 views
1

In AngularJs formatiert Währungsfilter negative Zahlen mit Klammern. Hier verwende ich Angular 2 Währungsrohr, es formatiert die negative Zahl nicht in Klammern.Angular2-Währungsfilter formatiert negative Zahlen mit Klammern

Es zeigt nur einfach -$18.00, aber ich möchte so ($18.00) zeigen. Wie kann ich das erreichen?

{{ -18 | currency }} 

das Ergebnis ich will, ist ($18.00) statt -$18.00

+0

Frage scheint unklar. '({{-18 | Währung}})' –

+0

_ "In AngularJs Währungsfilter formatiert negative Zahlen mit Klammern" _ Das ist nicht wahr. Vielleicht haben Sie einen benutzerdefinierten Filter oder zwei Filter verwendet. – zeroflagL

+0

das passiert nur in IE nicht in anderen Browsern – praveen

Antwort

0

Wenn Sie möchten, können Sie einfach Ihre eigenen Pfeife schreiben, um Ihnen die gleiche Wirkung.

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

(Vergessen Sie nicht, Pipe und PipeTransform zu importieren).

Oben ist eine grobe Version. Eine korrekte Version sollte den Eingabewert auf Nullen/undefiniert überprüfen. Sie könnten auch die vorhandene CurrencyPipe.transform und Huckepack von dieser Logik verwenden, anstatt Ihre eigenen zu implementieren.

Der Schlüssel zum Mitnehmen ist, sich nicht davor zu scheuen, eigene Pfeifen zu schreiben. Sie sind einfach zu implementieren.

Verwandte Themen