从AngularJS筛选器获取货币格式模式

从AngularJS筛选器获取货币格式模式,angularjs,internationalization,currency,Angularjs,Internationalization,Currency,我对创建一个过滤器感兴趣,该过滤器将接受金额、ISO 4217货币代码和分数大小,并以该格式返回金额。我注意到AngularJS在i18n/closure/currencySymbols.js中有goog.i18n.currency.getGlobalCurrencyPattern,但我对AngularJS比较陌生,不确定是否可以使用它?货币模式和符号就是这样。它决定如何显示数字。它不会将其从XXX转换为XXX。您必须根据当前的转换率进行转换 至于使用内置货币格式,有多种方法:在模板中,在代码中

我对创建一个过滤器感兴趣,该过滤器将接受金额、ISO 4217货币代码和分数大小,并以该格式返回金额。我注意到AngularJS在
i18n/closure/currencySymbols.js
中有
goog.i18n.currency.getGlobalCurrencyPattern
,但我对AngularJS比较陌生,不确定是否可以使用它?

货币模式和符号就是这样。它决定如何显示数字。它不会将其从XXX转换为XXX。您必须根据当前的转换率进行转换

至于使用内置货币格式,有多种方法:在模板中,在代码中

在模板中:

<div>{{myCurrencyValue | currency:'XXX'}}</div>
在这两种情况下,
'XXX'
是可选的[并且是符号],并且将使用当前语言环境的默认货币

例如:

更多信息可在此处找到:

更新

使用自定义过滤器的ISO 4217代码示例:


注意:ISO 4217没有规定货币符号,我将其用作符号参考并映射它们。

我的理解是,货币过滤器上的现有选项用于不同的货币符号。我真的很想采取一个数字,ISO4217货币代码,和分数大小,并有它的格式。例如:var formattedValue=$filter('myfilter')(1000,'EUR',2);您最好创建一个过滤器,并利用像money.JS这样已经制作好的JS,它也会为您进行转换。如果您愿意,我将更改我的答案,使用此选项创建一个新的筛选器。我继续使用自定义筛选器对其进行更新,以使用ISO代码。我必须自定义ISO代码到符号的映射。您可以在小提琴中看到映射。我还使用accounting.js进行格式化。感谢您的帮助和快速解决方案!问题是我真的不想维护格式化规则。我担心数千个分隔符、十进制分隔符、负数等的变化。这就是为什么我对goog.i18n.currency库感兴趣。@SajidAli似乎当我生成格式映射(from)INR时没有通过,如果你看它是
“INR”:{“text”:“uniDec”:“uniHex”:“}
。我看了一下,INR的信息是空白的。如果您知道缺少的信息(symbol、uniDec、uniHex),则可以添加这些信息,并且可以正常工作。
var formatted = $filter('currency')(myCurrencyValue, 'XXX')