2017-03-15 48 views
1

AngularJs貨幣過濾器格式化帶負數的負數。這裏我使用的是Angular 2貨幣管道,它不會將負數格式化爲括號。Angular2貨幣過濾器格式帶括號的負數

它只是顯示普通-$18.00,但我想要顯示這樣的($18.00)。我怎樣才能做到這一點。

{{ -18 | currency }} 

我要的結果是($18.00),而不是-$18.00

+0

問題看起來不清楚。 '({{-18 | currency}})' – 2017-03-15 15:51:21

+0

_「在AngularJs貨幣過濾器格式中帶負圓括號的負數」_這是不正確的。也許你使用了自定義過濾器或兩個過濾器。 – zeroflagL

+0

這種情況只發生在IE不在其他瀏覽器中 – praveen

回答

0

如果你願意,你可以很容易地編寫自己的定製管給你同樣的效果。

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

(不要忘記導入Pipe和PipeTransform)。

以上是粗略版本。適當的版本應該檢查空值/未定義的輸入值。您也可以使用現有的CurrencyPipe.transform並搭載該邏輯,而不是自行實施。

關鍵問題是不要回避編寫自己的管道。他們很容易實現。