我希望我能为此提供解决方案。我正在使用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';
}
});
输入来自持续时间。
我希望这对某人有帮助。