我查看了文档,但找不到我要找的答案。 我也知道我可以制作一个自定义过滤器来处理这个用例,但我想避免这样做。
我的目标是显示没有小数位的货币结果,但也使用默认/本地货币类型。 也就是说,我不想指定特定类型的货币,我只是喜欢默认类型。
我知道如果我提供明确的货币类型(例如| currency: "$" : 0
),我可以将数字过滤器和货币过滤器连在一起,但是,我不能假设哪个国家/地区
(我注意到如果我输入任何没有引号作为参数的废话,它都会起作用。即 - 'foobar'在下面。我不想使用废话,但是,我我想以正确的方式去做。)
<span>
{{ctrl.totalSum | currency: foobar : 0}}
</span>
到目前为止,我尝试过:null
,"null"
,local
,"local"
,""
,"undefined"
和空内容。我似乎无法确定哪个正确的关键字表示我想要默认值。
答案 0 :(得分:0)
经过进一步研究,似乎我可以使用undefined
作为参数,如MDN所述:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined
它似乎是一种可以传入的原始类型。 以下语法对我有用:
<span>
{{ctrl.totalSum | currency: undefined : 0}}
</span>
查看基本角度库后,我看到有一个检查是否未定义此参数。通过传入一个原始的未定义类型,它会提示本地符号逻辑:
return function(amount, currencySymbol){
if (isUndefined(currencySymbol)) currencySymbol = formats.CURRENCY_SYM;
return formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, 2).
replace(/\u00A4/g, currencySymbol);
}; }