1 java double casting integer-division
为什么是Math.ceil(15/10)1.0而不是2.0?当我跑步时,我Math.ceil((double)15/10)按预期得到2.0.
Math.ceil(15/10)
Math.ceil((double)15/10)
Den*_*ret 5
因为将整数除以另一个整数会得到一个整数:15/10is 1.
15/10
1
从规格:
整数除法向0舍入.也就是说,在二进制数字提升(第5.6.2节)之后为操作数n和d生成的商是整数值q,其大小尽可能大,同时满足| d·q |.≤| n |.此外,当| n |时,q为正 ≥| d | 并且n和d具有相同的符号,但是当| n |时q为负 ≥| d | 和n和d有相反的符号.
你应该使用Math.ceil(15.0/10)或Math.ceil(15f/10)(第一个使用双打,第二个浮动).
Math.ceil(15.0/10)
Math.ceil(15f/10)
归档时间:
12 年,10 月 前
查看次数:
342 次
最近记录:
9 年,1 月 前