我需要以欧元显示价格,每3位数字没有分数和点数。
因此价格12350,30将变为12.350欧元。
我尝试使用货币过滤器来解决这个问题,但我只能使它与USD一起使用。然后我尝试了以下内容:
<span data-ng-bind="property.price | number:0"></span>
但是我每3个数字都会得到一个逗号,而不是一个点。
我无法在最后添加€。
有谁知道怎么做?
答案 0 :(得分:1)
我无法在最后添加€。
您可以指定货币符号
{{ currency_expression | currency : symbol : fractionSize}}
所以
<span data-ng-bind="property.price | currency:"€":2></span>
但是我每3个数字都会得到一个逗号,而不是一个点。
十进制和组分隔符取决于区域设置,这里是AngularJS源代码的相关部分
"NUMBER_FORMATS": {
"CURRENCY_SYM": "\u20ac",
"DECIMAL_SEP": ",",
"GROUP_SEP": "\u00a0",
Source是AngularJS的法语(fr-fr)语言环境,https://github.com/angular/angular.js/blob/master/src/ngLocale/angular-locale_fr-fr.js#L78
答案 1 :(得分:1)
Miguel,
您可以创建自定义过滤器:
body {
font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif;
padding: 20px 50px 150px;
font-size: 13px;
text-align: center;
background: #E3CAA1;
}
ul {
text-align: left;
display: inline;
margin: 0;
padding: 15px 4px 17px 0;
list-style: none;
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
-moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
ul li {
font: bold 12px/18px sans-serif;
display: inline-block;
margin-right: -4px;
position: relative;
padding: 15px 20px;
background: #fff;
cursor: pointer;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
-ms-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}
ul li:hover {
background: #555;
color: #fff;
}
ul li ul {
padding: 0;
position: absolute;
top: 48px;
left: 0;
width: 150px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
display: none;
opacity: 0;
visibility: hidden;
-webkit-transiton: opacity 0.2s;
-moz-transition: opacity 0.2s;
-ms-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
-transition: opacity 0.2s;
}
ul li ul li {
background: #555;
display: block;
color: #fff;
text-shadow: 0 -1px 0 #000;
}
ul li ul li:hover { background: #666; }
ul li:hover ul {
display: block;
}
然后用作:
app.filter('toEuros', function() {
return function(input) {
return Number(input).toLocaleString("es-ES", {minimumFractionDigits: 0}) + ' €';
};
});
(由于某种原因,语言pt-PT将空格而不是<span data-ng-bind="property.price | toEuros"></span>
作为千位分隔符)