(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)
代替。谢谢。你是个很棒的人,谢谢你。你是个很棒的人。