十进制到整数截断

时间:2014-10-13 19:22:06

标签: angularjs

有没有办法在没有新指令的情况下在AngularJS表达式中将小数截断为整数?例如,如果{{$index / 6 + 1}}为4,则1.6666会显示$index。如何显示1

到目前为止,我所看到的所有链接都是用于AngularJS中的十进制到整数舍入。

2 个答案:

答案 0 :(得分:4)

当然,创建过滤器似乎是实现目标的最佳方式。但是,如果由于某种原因你不可能这样做,只需添加你想用来截断数字的函数(例如Math.trunc()Math.floor(),如果数字为正数),并且在模板中使用它:

$scope.trunc = Math.trunc;
<div>{{trunc($index / 6 + 1)}}</div>

答案 1 :(得分:0)

所以我一直试图解决这个问题一段时间 - 似乎目前还没有一种方法来嵌入&#34;四舍五入到双花括号中(如果这实际上是你正在尝试做的事情)。我发现的最佳解决方案是从花括号中调用一些函数来为你进行舍入并返回舍入值(如@Blackhole建议的那样)。

HTML:

...
<div ng-repeat="i in items"> 
    <div> {{ truncate($index / 6 + 1) }} </div>
</div>
...

Controller.js:

...
$scope.truncate = function(n) {
    return Math.trunc(n);
};
...

希望有所帮助!