AngularJS:将小数分离器更改为逗号



我希望我能为此提供解决方案。我正在使用angular1.4

我想以十进制数字显示时间(用逗号分隔,因为用户在德国 - 欧洲)。

例如,预计5分钟将显示为:

5min =(5/60)= 0,08 (2个小数位置)

然后我遇到了此解决方案:angularjs编号过滤器。但是,结果以十进制出现,我可以在下面的管过滤器中添加什么,以更改/更换十进制为逗号?

<span>{{ dr.duration/(60*60*1000) | number:2}}</span>

如果您需要清晰的lemme知道。

更改AngularJS编号过滤器使用的分离器,包括适当的语言环境规则集,例如angular-locale_de-de.js

有两种为Angularj提供的环境规则的方法:

  • 预捆规则集
  • index.html中包含一个语言环境脚本

有关更多信息,请参见

  • Angularjs开发人员指南 - 向AngularJS提供语言环境规则
  • AngularJS编号滤波器API参考

演示

<script src="//unpkg.com/angular/angular.js"></script>
<script src="//unpkg.com/angular-i18n/angular-locale_de-de.js"></script>
<body ng-app>
    <span><b>5min=(5/60)=</b>
      {{ 5/60 | number:2 }} hr (2 decimal places)
    </span>
</body>    

查看$ locale服务的文档。

以下是源代码中的环境列表。

他们用于受支持的地区的示例实际上是针对德国的:〜)。

btw,在AngularJS文档中,每个页面顶部都有一个按钮,上面说[查看源代码]在每个页面的顶部。

,所以我找到了另一种无环境服务的方法。我添加了这个管道

app.filter('timeToDecimals', ($filter) => {
    return function (input) {
      let time = Number(input);
        if (!Number.isNaN(time)) {
            let number = time/(60*60*1000);
            return $filter('number')(number, 2).replace(".",",");
        } 
        else return '00,00';
    }
});

输入来自持续时间。

我希望这对某人有帮助。

相关内容

  • 没有找到相关文章

最新更新