我的问题是我想根据我的语言格式化数字。例如,将en-US中的123456.12345
显示为123,456.12
或将fa-IR显示为۱۲۳٬۴۵۶٫۱۲
。
我能想象的最好的解决方案是编写一个角度滤镜,但我认为它非常慢,因为我需要在视图中显示太多数字。
我的问题:有没有更好的方法来处理这个问题,或者我必须使用角度过滤器?
答案 0 :(得分:1)
带过滤器的解决方案1:
您可以在index.html中包含相对语言环境脚本,如here所述:
<html ng-app>
<head>
….
<script src="angular.js"></script>
<script src="i18n/angular-locale_de-de.js"></script>
….
</head>
</html>
然后使用内置过滤器number
,您可以轻松地对其进行格式化
使用toLocaleString的解决方案2:
如果您不想使用过滤器,则必须手动转换数字&#34;&#34;对每个号码使用toLocaleString
:
$scope.myNumber = 9999.99;
$scope.myNumber.toLocaleString('de-DE');
这是JSFidlle,显示如何为de-DE语言环境设置数字的格式,而不是默认使用的en-US格式