现场演示
为什么这个:
# Controller $scope.price = -10; # View {{ price | currency }}
结果($10.00)而不是-$10.00?
($10.00)
-$10.00
这是代表负货币的一种流行方法。维基百科:
在簿记中,所欠金额通常用红色数字或括号中的数字表示,以替代表示负数的符号。
您可以在Angular源代码中看到他们执行此操作的位置(negSuf/ negPre):
negSuf
negPre
function $LocaleProvider(){ this.$get = function() { return { id: 'en-us', NUMBER_FORMATS: { DECIMAL_SEP: '.', GROUP_SEP: ',', PATTERNS: [ { // Decimal Pattern minInt: 1, minFrac: 0, maxFrac: 3, posPre: '', posSuf: '', negPre: '-', negSuf: '', gSize: 3, lgSize: 3 },{ //Currency Pattern minInt: 1, minFrac: 2, maxFrac: 2, posPre: '\u00A4', posSuf: '', negPre: '(\u00A4', negSuf: ')', gSize: 3, lgSize: 3 } ], CURRENCY_SYM: '$' },