Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以AngularJS将货币从美国转换为英国_Angularjs - Fatal编程技术网

以AngularJS将货币从美国转换为英国

以AngularJS将货币从美国转换为英国,angularjs,Angularjs,我试图显示此代码,但我需要AngularJS自动转换货币: <div ng-controller="ctrl"> default currency symbol ($): {{0.00 | currency}} custom currency symbol (£): {{0.00 | currency:"£"}} </div> <script src="index.js"></script> <script src="

我试图显示此代码,但我需要AngularJS自动转换货币:

 <div ng-controller="ctrl">

  default currency symbol ($): {{0.00 | currency}}

  custom currency symbol (£): {{0.00 | currency:"£"}}

 </div>

 <script src="index.js"></script>
 <script src="uk-locale.js"></script>

默认货币符号($):{{0.00 | currency}
自定义货币符号(£):{0.00 |货币:£”}

AngularJs currencyFilter只是格式化输出。例如,如果您想要实际转换货币,则需要进行自定义

下面是一个可能的例子:

angular.module('myFilter', []).filter('currencyConverter', [function() {
   function convert(inputValue, currecyId) {
       // Your conversion code goes here
   }

   return function(inputValue, currencyId) {
      return convert(inputValue, currencyId);
   }
});

正如@Andrey所说,您应该构建自己的自定义过滤器来处理货币转换。
下面是我将如何构建这样一个东西的简单演示:

angular.module('myModule').filter('currency', function() {
    var defaultCurrency = '$';

    return function(input, currencySymbol) {
        var out = "";
        currencySymbol = currencySymbol || defaultCurrency;

            switch(currencySymbol) {
                case '£':
                    out = 0.609273137 * input; // google
                    break;

                default: 
                    out = input;
            }

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

检查I extended@gion_13的答案以支持模板中提供的汇率:您的价格为{{money | currency}}(或{money | currency:'EUR':1.3})结果:您的价格为100美元(或130欧元)演示: