Angularjs:根据区域设置的格式编号

use*_*928 7 angularjs

我需要显示这个数字2387,15
我用angularjs做这个:

{{myNumber|number:2}}
Run Code Online (Sandbox Code Playgroud)

我得到2,387.15我不想在2和3之间昏迷(我是法国人).

有没有办法用angularjs设置语言环境?

谢谢

dfs*_*fsq 10

方法#1.如果您想要法语区域设置,那么您只需包含相应的本地化文件即可.例如:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.4.5/angular-locale_fr-fr.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后Angular将把它拿起并用于所有本地化.

<script src="https://code.angularjs.org/1.4.3/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.4.5/angular-locale_fr-fr.js"></script>
<script>
  angular.module('demo', []).controller('mainCtrl', function($scope) {
    $scope.myNumber = 2387,15;
  });
</script>

<div ng-app="demo" ng-controller="mainCtrl">
  {{myNumber|number:2}}
</div>
Run Code Online (Sandbox Code Playgroud)

方法#2.您可以做的另一件简单的事情是自定义NUMBER_FORMATS.GROUP_SEP常量:

angular.module('demo', []).controller('mainCtrl', function($scope, $locale) {
    $locale.NUMBER_FORMATS.GROUP_SEP = ' ';
    $scope.myNumber = 2387,15;
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.angularjs.org/1.4.3/angular.js"></script>

<div ng-app="demo" ng-controller="mainCtrl">
    {{myNumber|number:2}}    
</div>
Run Code Online (Sandbox Code Playgroud)