2016-12-29 4 views
0

Привет всем здесь короткие краткий моего вопроса о таможенной валюте, я ищу европейский формат валюту так же, как как:Угловые пользовательский фильтр для европейского формата валюта

Input : 123456789.22

Output : 123 456 789,22

Я ищет логику для реализации в моем настраиваемом фильтре.

Вот мой пользовательский фильтр и код.

myApp.filter('myCurrency', function() { 
     return function(nStr) { 
     if (nStr) { 
      // return European currency format 
     }  
     } 
}) 

ответ

0

Примечание: Проводка для других, чтобы поделиться знаниями.

var myApp = angular.module('myApp', []); 
 

 

 
myApp.filter('myCurrency', function() { 
 
    return function(nStr) { 
 
    if (nStr) { 
 
     nStr += ''; 
 
     x = nStr.split('.'); 
 
     x1 = x[0]; 
 
     x2 = x.length > 1 ? ',' + x[1] : ''; 
 
     var rgx = /(\d+)(\d{3})/; 
 
     while (rgx.test(x1)) { 
 
     x1 = x1.replace(rgx, '$1' + ' ' + '$2'); 
 
     } 
 
     return x1 + x2; 
 
    }  
 
    } 
 
}) 
 

 

 
function MyCtrl($scope) { 
 
    $scope.name = ''; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
    <input type="text" ng-model="name" /> You typed : {{name | myCurrency}}! 
 
</div>

+0

Почему бы вам использовать номер фильтра: 2 .. это работает хорошо для меня. .. somthing like: € –

+0

, потому что я хочу собственный формат так же, как и в вопросе, в формате пространства после трех чисел и запятой, где десятичная точка. – Jigar7521

0

следовать этому: http://www.encodedna.com/angularjs/tutorial/format-text-using-angularjs-currency-filter.htm

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script> 
 
</head> 
 
<body style="font:15px Verdana;"> 
 
    <div ng-app> 
 
     <p> 
 
      <label>Enter a number</label> 
 
      <input type="text" ng-model="bid" /> 
 
     </p> 
 

 
     <p> {{ bid | currency : "€"}} </p> 
 
    </div> 
 
</body> 
 
</html>

+0

Спасибо, я знал это уже, это не точно по вопросу, если я введу '111111111.22' ответ должен быть '111 111 111,22' – Jigar7521