如何在不改变符号位置的情况下过滤货币

时间:2015-09-17 06:35:39

标签: javascript angularjs angularjs-directive

我遇到了这个问题:

{{100 | currency:'‎€'}} 

输出很好 100€,但是当我更改语言(例如en-US文化)时,符号会改变其位置,使其变为€100

我想要的是,即使语言发生变化,符号也会保持其位置。 我可以这样做:

{{100 | currency:'‎'}} {{'‎€'}} 

但是在这种情况下,如果我有$作为货币,它将是 100 $而不是100美元。

所以我不想要硬编码的东西,我想拥有动态过滤器,将其符号放置在一个地方。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以实施自定义过滤器,例如

app.filter('customCurrency', function () {
return function (value) {

    // Do your logic here and append your currency
    // symbol before or after of your value as per your requirement

    return value
}; });

答案 1 :(得分:1)

您可以实现自己的过滤器或指令,但我认为更好的方法是使用l10n在Angular上设置区域设置。

i18n and l10n

如果您需要强制将本地化从欧洲更改为en-Us,您可以通过编程方式进行,这是有道理的,因为您需要将EUR转换为USD $。