在java日常开发中,特别是对一些数据处理时,我们需要向上取整,常见的如分页处理时,例如数据库有记录12条,我们每页显示10,那页数就是2页,在取分页数的值为12/10=1.2,这个时候需要把1.2转成2。
java int两整数相除向上取整
最常用的使用ceil函数,但是涉及过多类型转换,一些开发者不是很推荐。
(int)Math.ceil((double)x/y);
// 或者
(int)Math.ceil(x * 1.0 /y);
java int两整数相除向下取整
使用floor函数。
(int)Math.floor((double)x/y);
// 或者
(int)Math.floor(x * 1.0 /y);
两整数相除向上取整其它方法
方法一: 添加三目运算符逻辑代码
x / y + (x % y != 0 ? 1 : 0);
这种方法逻辑上很简单,如果x可以整除y,就将x / y 的结果加0,不能整除y就将x / y 的结果加1。
方法二:其他逻辑
(x + y - 1) / y
很巧妙,不太容易理解。