问题:Math.ceil ()函数采用向上舍入,即大于参数的最小整数值。使用向上取整方法,然后发现没有效果:
int pageSize= (int) Math.ceil(23/5);
结果是4,但是我想要的结果是5。后来发现,因为23和5都是int类型,int类型相除的时候已经是向下取整了,结果已经变成4了,这时候再使用向上取整结果还是4。math.ceil(int/int ); 如果参数为int/int,则四舍五入无效。
解决方法:先把参数int类型变成小数:
int pageSize= (int) Math.ceil(23*1.0/5*1.0);
得到想要结果是5。出现这类情况,请尝试改变参数的形状。
向下取整的方法:
Math.floor(23*1.0/5*1.0);