如何在AngularJS绑定中获取整数十进制数

时间:2016-08-31 11:27:56

标签: angularjs angular-filters

我想在书的价格中取整数小数。但是当我使用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>&#8380;
</li>

2 个答案:

答案 0 :(得分:3)

如果您提供number过滤器,则fractionSize Angular会舍入到最接近的整数。您可以将自己的过滤器创建为answered by R.J

或者你可以做一个数学技巧。如果您从数字中减去0.5,Angular将根据您的需要:

&#13;
&#13;
<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;
&#13;
&#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 )