如何在AngularJS中获取特定货币符号(例如印度卢比符号),而不是默认的美元符号($符号)。

36

当我在 AngularJS 中使用 'currency' 时,会得到一个美元符号。如何根据需要获取所需的货币符号。目前,我需要知道如何使用货币符号显示印度卢比。如果有人能解释如何在不同要求的情况下使用此货币符号,那将非常有用。

Item Price<span style="font-weight:bold;">{{item.price | currency}}</span>

如果我的item.price是200美元。这里显示的是200$。我需要显示卢比符号而不是美元。


这是一个更好的解决方案:D https://dev59.com/NV4c5IYBdhLWcg3wx8tU - openHex
11个回答

68

要在AngularJS中显示货币符号,您需要提供以下货币符号的HTML实体,下面是通过代码和模板的示例和用法:

在您的模板中,欧元的示例:

Item Price<span style="font-weight:bold;">{{price | currency:"&euro;"}}</span>

印度卢比的例子:

Item Price<span style="font-weight:bold;">{{price | currency:"&#8377;"}}</span>

还要检查下面的网址

http://www.cs.tut.fi/~jkorpela/html/euro.html

从控制器:

在您的控制器中注入 $filter

$scope.price=$filter('currency')($scope.price,'&euro;')

@Ebenezar 我认为你需要显示卢比符号而不是欧元。 - Foreever
@Foreever 是的,我需要卢比符号。正如您从答案中看到的,我没有收到确切的解决方案。至少通过这个问题,我学会了如何尝试使用不同的货币符号,例如欧元。但我仍在等待卢比符号! - Ebenezar John Paul
@Ebenezar 看看我的回答吧。我也测试过了。 - Foreever
@Foreever 谢谢你的回答。我会检查并告诉你。 - Ebenezar John Paul
@JQuery大师,我是Angular的新手,也阅读了关于Angular的货币文档,但我无法理解两个选项中的哪一个(即“在HTML模板绑定”、“在Javascript中”)被使用,我已经尝试了两种方法,但只有HTML模板绑定那个可行,但我想从Javascript中实现相同的功能。 - dev_khan

6
您可以使用符号参数:
Item Price<span style="font-weight:bold;">{{item.price | currency[:symbol]}}</span>

例子:

Item Price<span style="font-weight:bold;">{{item.price | currency:"USD$"}}</span>

请参考以下内容:
http://docs.angularjs.org/api/ng.filter:currency

2
尝试如下: 货币:[€] 如果您的示例中没有出现 € 符号,那可能是由于文件编码的原因。 - Scalpweb

5

这是关于印度卢比货币的简单解决方案。

如果你想要显示货币符号

Item Price<span style="font-weight:bold;">{{item.price | currency:'INR'}}</span>

或者

Item Price<span style="font-weight:bold;">{{item.price | currency:'INR':'symbol'}}</span>

或者
Item Price<span style="font-weight:bold;">{{item.price | currency:'INR':'symbol-narrow'}}</span>

结果将会显示为:₹140.00 或者 如果你想要显示代码而不是符号,那么请使用以下代码:
 Item Price<span style="font-weight:bold;">{{item.price | currency:'INR':'code'}}</span>

结果将会像这样:INR140.00 同样,您可以检查其他国家的代码,并将其替换为INR(印度代码)。

5

我虽然晚了,但是在我最后一个项目中做了这个过滤器。

如果你有ISO 4217货币代码(3个字符长度,例如USD、EUR等),isoCurrency可以输出正确的格式小数位数符号

// in controller
$scope.amount = 50.50;
$scope.currency = 'USD';

// in template
{{ amount | isoCurrency:currency }} // $50.50

3
<h2>{{8.99 | currency:'INR':true}}</h2>

3
货币符号可以从默认的 $ 符号更改为其他符号,方法如下:
在 HTML 模板绑定中
 {{ currency_expression | currency[:symbol] }} 

在JavaScript中

 $filter('currency')(amount[, symbol]) 

我们可以按照以下方式显示卢比符号(在此示例中):
在HTML模板绑定中
Item Price<span style="font-weight:bold;">{{price | currency:"&#8377;"}}</span> 

或者

在JavaScript中

$scope.price=$filter('currency')($scope.price,"&#8377;")

此外,如果需要,我们可以添加文本而不是符号,如下所示:

Item Price<span style="font-weight:bold;">{{price | currency:"rupee"}}</span> 

注意:直接将卢比符号复制到HTML中不起作用。

请参阅 AngularJS 货币文档


3

$是angular货币过滤器的默认符号。如果要用其他符号,例如卢比(₹),则必须在应用程序中显式定义它。

为了显示₹符号,您只需要在货币选项中添加一个选项即可。

示例:

<span> <b>{{i.price | currency : '&#8377;' }}</b> </span>

&#8377;是₹符号的HTML代码。


3
如果您想使其动态化,这是我的解决方案:
HTML
<div>{{ 100 | currencySymbol: 'USD' }}</div>

筛选器

angular.filter('currencySymbol', function ($filter) {
    return function(amount, currency) {
        return $filter('currency')(amount, currency_symbols[currency]);
    }
});

Javascript货币数组

var currency_symbols = {
    'USD': '$', // US Dollar
    'EUR': '€', // Euro
    'GBP': '£', // British Pound Sterling
    'ILS': '₪', // Israeli New Sheqel
    'INR': '₹', // Indian Rupee
    'JPY': '¥', // Japanese Yen
    'KRW': '₩', // South Korean Won
    'NGN': '₦', // Nigerian Naira
    'PHP': '₱', // Philippine Peso
    'PLN': 'zł', // Polish Zloty
    'PYG': '₲', // Paraguayan Guarani
    'THB': '฿', // Thai Baht
    'UAH': '₴', // Ukrainian Hryvnia
    'VND': '₫', // Vietnamese Dong
};

2
根据 Angular JS 文档 链接,货币可以被更改。
Item Price<span style="font-weight:bold;">{{price | currency:[symbol]}}</span>
Item Price in Dollar<span style="font-weight:bold;">{{price | currency:"USD$"}}</span>
Item Price in Euro<span style="font-weight:bold;">{{price | currency:"&euro;"}}</span>

对于印度卢比,它将是字符代码Link2

Item Price in Ruppese<span style="font-weight:bold;">{{price | currency:"&#8377;"}}</span>

""&#8377;" 是字符代码:"₹"的表示方式。"

更多内容请访问此链接:http://symbolcodes.tlt.psu.edu/bylanguage/devanagarichart.html - user6132703

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接