我想在书的价格中取整数小数。但是当我使用Price | number:0
AngularJS整个部分时。例如,如果价格为45.89
,则会在浏览器46
中打印价格。那么,如何让它只打印45
?
<li class="book-price">{{Price | number:0 }}
<sup style="font-size: 55%;">
{{ !((Price*100)%100) ? "00" : (Price*100)%100}}
</sup>₼
</li>
答案 0 :(得分:3)
如果您提供number
过滤器,则fractionSize
Angular会舍入到最接近的整数。您可以将自己的过滤器创建为answered by R.J。
或者你可以做一个数学技巧。如果您从数字中减去0.5
,Angular将根据您的需要:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
{{45.89 | number: 0}}<br>
{{45.03 | number: 0}}<br>
{{45.89 - 0.5 | number: 0}}<br>
{{45.03 - 0.5 | number: 0}}<br>
</div>
&#13;
答案 1 :(得分:2)
您可以创建自己的自定义angular#Filter
{{45.89 |floorFilter}} //it print 45
JS;
.filter('floorFilter', function() {
return function(value) {
return Math.floor(value);
}
})
这是工作Plunker
编辑:
如果您不想创建自定义过滤器,那么</ p> 控制器中的
只需
$scope.Price = Math.floor(Price )