在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

很巧妙,不太容易理解。