(Java)为什么Math.ceil(15/10)是1.0而不是2.0?

(Java)为什么Math.ceil(15/10)是1.0而不是2.0?,java,casting,double,integer-division,Java,Casting,Double,Integer Division,为什么Math.ceil(15/10)1.0而不是2.0? 当我改为运行Math.ceil((double)15/10)时,我得到了预期的2.0。因为将一个整数除以另一个整数会得到一个整数:15/10是1 发件人: 整数除法向0舍入。也就是说,为 二进制数字提升后的整数操作数n和d (§5.6.2)是一个整数值q,其大小尽可能大 同时满足| d·q |≤ |n |。此外,当| n |时,q为正≥ |d| n和d有相同的符号,但当| n |时q为负≥ |d |和n 和d有相反的符号 您应该使用Ma

为什么
Math.ceil(15/10)
1.0而不是2.0?
当我改为运行
Math.ceil((double)15/10)
时,我得到了预期的2.0。

因为将一个整数除以另一个整数会得到一个整数:
15/10
1

发件人:

整数除法向0舍入。也就是说,为 二进制数字提升后的整数操作数n和d (§5.6.2)是一个整数值q,其大小尽可能大 同时满足| d·q |≤ |n |。此外,当| n |时,q为正≥ |d| n和d有相同的符号,但当| n |时q为负≥ |d |和n 和d有相反的符号


您应该使用
Math.ceil(15.0/10)
Math.ceil(15f/10)
(第一个使用双精度,第二个使用浮点)。

因为将一个整数除以另一个整数会得到一个整数:
15/10
1

发件人:

整数除法向0舍入。也就是说,为 二进制数字提升后的整数操作数n和d (§5.6.2)是一个整数值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(15f/10)
代替。谢谢。你是个很棒的人,谢谢你。你是个很棒的人。