AngularJS: форматирование валют, разделенных запятыми, динамически с использованием кодов валют / стран - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь отобразить суммы разных валют в моей сетке (в формате через запятую).Но все суммы приходят в одном и том же формате

Например:

В настоящее время я получаю это

USD- 1,234,567
INR- 1,234,567

Но я хочу вот так.Динамически используя код валюты

USD- 1,234,567
INR- 12,34,567

Fiddle: http://jsfiddle.net/y6fhcme3/1/

Помогите мне !!

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Фильтр валюты Angularjs не будет форматировать число на основе валюты.Он добавляет только указанный префикс, а также округляет число, если указан размер дроби.

Для форматирования на основе валюты можно использовать number.toLocaleString.Подробнее см. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString.

Для форматирования INR вы можете использовать value.toLocaleString('en-IN)

0 голосов
/ 01 апреля 2019

Вы должны добавить пользовательский канал для индийских рупий: http://jsfiddle.net/4zb2p91d/, как упомянуто в этом посте Формат валюты INR

.filter('INR', function () {        
    return function (input, code) {
        if (! isNaN(input)) {
            var currencySymbol = '₹';
            //var output = Number(input).toLocaleString('en-IN');   <-- This method is not working fine in all browsers!           
            var result = input.toString().split('.');

            var lastThree = result[0].substring(result[0].length - 3);
            var otherNumbers = result[0].substring(0, result[0].length - 3);
            if (otherNumbers != '')
                lastThree = ',' + lastThree;
            var output = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;

            if (result.length > 1) {
                output += "." + result[1];
            }            

            return currencySymbol + output;
        }
    }
});

и использование:

<div ng-app="miniapp">
    <div ng-controller="Ctrl">
        <div ng-repeat="item in items">
            {{item.amount | INR : item.code }}
        </div>         
    </div>    
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...