2016-10-24 2 views
1

У меня есть сценарий, где я должен иметь возможность форматировать валюту динамически. Я использую угловой фильтр валюты. Вот мой код

<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; 
}); 

В приведенном выше коде я использую два типа валют рупии и ДОЛЛАР, но он показывает то же самое для обеих валют.

вот мой выход на приведенный выше код

рупия: ₹ 5800000
ДОЛЛАР: $ 5800000

ниже мой ожидаемый результат

рупия: ₹ 58,00,000
ДОЛЛАР: $ 5800000

, пожалуйста, помогите мне в этом. Заранее спасибо

Мне нужно общее решение для всех валютных форматов не только для индийской рупии. Как € 1.234.567,89 EUR Здесь формат валюты в евро отличается. как тысячи разделителей и, как десятичные разделители. Могу ли я предложить какие-либо предложения по его реализации.

+2

Возможный дубликат [INR формат валюты в угловую] (http://stackoverflow.com/questions/ 35598765/inr-currency-format-in-angle) –

ответ

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/

+0

Это то, что хочет OP. Вы буквально конвертируете из доллара США в INR. Он вместо этого хочет форматировать в соответствии с конвенциями, используемыми в Индии. Речь идет о запятых в размере –

+0

Спасибо за ваш ответ. Я знаю конвертацию валюты, но упомянутый выше вопрос касается форматирования валюты, т. Е. Где позиция запятой и т. Д. – user2451830

+0

Thats right @Clyde Lobo – user2451830