我有一个来自DB的搜索结果列表,我也有pageSize&我想算noOfPages
int pageSize=3;
int totalResults=...;
int noOfPages=methodX(totalResults/pageSize);
所以,如果totalResults=9
然后noOfPages=3
,如果totalResults=100
则noOfPages=34
甚至100/3 = 33.33
所以基本上无论分数多少,它都会向上舍入,只要有一小部分它就会向上舍入。
答案 0 :(得分:4)
JDK 1.0的“传统”解决方案:)
int totalResults = 10;
int pageSize = 3;
int result;
if (totalResults % pageSize == 0) {
result = totalResults / pageSize;
} else {
result = totalResults / pageSize + 1;
}
答案 1 :(得分:0)
另一种方式
result = (totalResults + pageSize - 1) / pageSize;
//
// eg: totalResults=10,pageSize=3 => result = 4 = (10 + 3 - 1) / 3
// eg: totalResults=12,pageSize=3 => result = 4 = (12 + 3 - 1) / 3
或
result = totalResults / pageSize + totalResults % pageSize > 0 ? 1 : 0
或
result = (int) Math.ceil((float)totalResults/pageSize);