Angular JS货币过滤器显示相同格式的₹和$

时间:2016-10-24 14:30:35

标签: angularjs angular-filters currency-formatting

我有一个场景,我应该能够动态格式化货币。我使用角度货币过滤器。 这是我的代码

<div ng-app="myApp" ng-controller="costCtrl">
    <p>Rupee: {{ price | currency : "&#8377;"}}</p>
    <p>Dollar: {{ price | currency : "$"}}</p>
 </div>

<script>
var app = angular.module('myApp', []);
app.controller('costCtrl', function($scope) {
    $scope.price = 5800000;
});

在上面的代码中,我使用两种货币RUPEE和DOLLAR,但两种货币的货币相同。

这是上面代码的输出

RUPEE:₹5,800,000
美元:5,800,000美元

以下是我的预期输出

RUPEE:₹58,00,000
美元:5,800,000美元

请帮帮我。提前致谢

我需要一种适用于所有货币格式的通用解决方案,不仅适用于印度卢比。比如€1.234.567,89 EUR 这里的EUR货币格式与他们使用的不同。作为千位分隔符和十进制分隔符。 我可以有任何实施此建议吗?

1 个答案:

答案 0 :(得分:0)

您必须自己编写currency convertor,以下是有效的fiddle

.filter('currency', function() {
    var defaultCurrency = '$';
    return function(input, currencySymbol) {
      var out = "";
      currencySymbol = currencySymbol || defaultCurrency;
        switch(currencySymbol) {
            case '₹':
                out = 67 * input;
                break;

            default: 
                out = input;
        }

      return out + ' ' + currencySymbol;
    }
  });

http://jsfiddle.net/bvgkwczd/