过滤参数的连续性差异

时间:2014-03-29 17:14:10

标签: angularjs

我是 angularjs framework 中的新手,现在正在学习过滤。我为货币写了一个简单的过滤。

我的代码如下:

{{99.9 | currency | number:0 }}

但这不适合我,浏览器中没有任何内容,然后我将代码更改为:

{{99.9| number:0  | currency }}

现在我得到了结果但不是我的期望: $ 100.00

因为我知道number:0必须将结果显示为: $ 100

我想知道过滤参数的继承有什么区别?

感谢您的回复。

2 个答案:

答案 0 :(得分:1)

过滤器按照它们的使用方式连续应用于表达式,并由管道|分隔。

{{ 99.9 | currency | number:0 }}

以上适用,99.9上的货币过滤器,然后应用number过滤器,精度为0。由于货币过滤器会将99.9修改为99.90美元,因此数字过滤器无法理解这一点,并且无法应用过滤器。

另一方面,

{{ 99.9 | number:0 | currency }} --> $100.00

使用上面的数字过滤器将数字99.9舍入为100,然后应用货币过滤器,最后查看$100.00

您最终需要的是

{{ 99.9 | number:1 | currency }} --> $99.90

如果你想保持精确度。

详细了解不同类型的in-bult filters

答案 1 :(得分:1)

我们来看看plunkr。希望它能帮助你理解