如何在ng-bind中实现数字向上取整?
AngularJS 实现价格向上取整为整数
你的代码当前通过number:2过滤器将价格格式化为两位小数,但需求是把68.74这类数值向上取整为整数69,可以通过以下两种方式实现:
直接使用Math.ceil()函数
不需要额外定义过滤器,直接在表达式里调用原生JS的Math.ceil()方法,它会自动将小数向上取整到最近的整数:
<td><span ng-bind="'$' + Math.ceil(o.Price)"></span></td>
这样传入68.74时,会得到$69的结果。
自定义ceil过滤器(适合复用场景)
如果多个地方都需要用到向上取整的逻辑,可以自定义一个AngularJS过滤器:
// 在你的AngularJS模块中注册过滤器 angular.module('yourApp').filter('ceil', function() { return function(value) { return Math.ceil(value); }; });
然后在模板中像使用原生过滤器一样调用:
<td><span ng-bind="'$' + (o.Price | ceil)"></span></td>
两种方式都能满足你的需求,根据是否需要复用选择即可。
内容的提问来源于stack exchange,提问作者Eli Musk
相关产品推荐
相关产品推荐

