我希望我能找到解决方案。
我正在使用angular1.4
。
我想用十进制数字显示时间(由于用户位于德国-欧洲,所以用逗号分隔)。
例如,预计5分钟将显示为:
5min =(5/60)= 0,08 (小数点后2位)
然后我遇到了以下解决方案:AngularJS number filter。但是结果以十进制显示,我可以在下面的管道过滤器中添加些什么,以将十进制更改/替换为逗号?
<span>{{ dr.duration/(60*60*1000) | number:2}}</span>
以防万一,我需要知道。
答案 0 :(得分:1)
查看$locale服务的文档。
Here是源代码中的语言环境列表。
他们用于支持的语言环境的example实际上是针对德国的:〜)。
顺便说一句,在AngularJS文档中,每页顶部都有一个按钮,每页顶部都有[查看源代码]。
答案 1 :(得分:0)
要更改AngularJS数字过滤器使用的分隔符,请包含适当的语言环境规则集,例如angular-locale_de-de.js
。
有两种向AngularJS提供语言环境规则的方法:
有关更多信息,请参见
<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>
答案 2 :(得分:0)
因此,我找到了没有语言环境服务的另一种方法。 我添加了此管道
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';
}
});
输入来自持续时间。
我希望这可以帮助某个人。