angular:使用$ locale信息以编程方式格式化数字

时间:2014-10-07 05:46:12

标签: angularjs localization

我已经包含了相应的语言环境文件,它运行正常。在任何模板中,我都可以执行以下操作:

{{ value | number: 2}}

并根据区域设置信息正确格式化数字。

现在我需要使用控制器中javascript代码的相同区域设置信息来构建字符串。

我使用的是javascript组件(确切地说是d3图),我想构建字符串以附加到它,因此模板系统对此无用,但我想要语言环境配置数字和日期。

所以我就是这样的伪代码:

var formattedValue = $local.format(value, { 'number': 2 });

或类似的东西

任何人都知道如何实现这一目标?

3 个答案:

答案 0 :(得分:1)

试试这个:

var formattedValue = $filter('number')(value,2);

工作:http://plnkr.co/edit/aC4p95y52YZyoUEdQVzo?p=preview

答案 1 :(得分:0)

我们可以通过实施过滤器来实现这一目标。

var app = angular.module('app', []);
app.filter('yourFilter', function(){
  return function(string){
    // build the string whatever you are trying to achieve
    return newString; // return the string you achieved
  }
});

供参考,http://blog.trifork.com/2014/04/10/internationalization-with-angularjs/

答案 2 :(得分:0)

我可以像这样注入过滤器:

presuApp.run(function ($rootScope, numberFilter) {
  var formattedValue = numberFilter(value, 2);
  [...]

它只是过滤器的名称,后跟过滤器'后缀。