我有以下代码:
int total = 6;
int perPage = 5;
double pages = total/perPage;
double ceilPages = Math.ceil(pages);
out.println(ceilPages);
哪个输出1.0
。
我认为它应该输出2.0
,因为total/perPage
is的结果1.2
。
为什么它不向上舍入到2.0
?
您正在将整数除法的结果转换为双精度。
您需要在结果之前将除法的每个部分都加倍。
double pages = (double)total/(double)perPage;
其余的应该工作
(int)Math.ceil(3/2.0)
将给出答案 2
(int)Math.ceil(3/2)
会给出答案 1
为了获得浮点值,您需要将(或添加 .0)转换为参数之一
双页= Math.ceil((双)总计/每页);