我希望在我的网站中的特定表中显示价格为3个小数位。
价格将以磅,美元和欧元的价格显示。
我的货币过滤器似乎会自动将价格周围为2个小数点。
另外,如果货币以欧元为单位,理想情况下,我想自动将数千个分离器更改为.
,将十进制分隔符更改为,
。
angularjs对此有支持吗?
视图
<div ng-controller="SpotController">
<table class="header-table-spot-prices">
<thead>
<tr><th>Spot Prices</th><th>Price</th></tr>
</thead>
<tbody>
<tr ng-repeat="spot in spots">
<td>{{ spot.item }}</td>
<!-- This needs to be 3dp -->
<td>{{ spot.price | currency:spot.currency }}</td>
</tr>
</tbody>
</table>
</div>
这在这一点上可能无关紧要,因为原始帖子是2年前,但是Angular的"货币"过滤器以符号和分数为参数。
例如:
<td>{{ spot.price | currency:spot.currency : 3 }}</td>
,如果不需要根据货币更改分离器,就会输出您要寻找的内容。您可以创建自己的货币过滤器,该过滤器首先使用角滤波器,然后检查条件并改变分离器。这个plunker说明了这一点。
.filter('myCurrency', ['$filter', function($filter){
return function(input, symbol, fractionSize){
input = $filter('currency')(input, symbol, fractionSize);
if(symbol === 'u20AC'){
var tempString = "###";
input = input.replace(",", tempString).replace(".", ",").replace(tempString, ".");
}
return input;
}
}])
您可能已经为您的需求解决了这个问题,但是在此处将答案放在这里,以防其他人遇到类似的问题并遇到这篇文章。