欧洲货币格式的角度自定义过滤器

时间:2016-12-29 10:47:15

标签: angularjs angularjs-filter

大家好,这里是关于自定义货币问题的简短简介,我正在寻找欧洲货币格式,如:

Input : 123456789.22

Output : 123 456 789,22

我正在寻找在我的自定义过滤器中实现的逻辑。

这是我的自定义过滤器和代码格式。

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

2 个答案:

答案 0 :(得分: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>
&#13;
&#13;
&#13;

答案 1 :(得分: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>