关于Math.ceil()函数的问题

问题描述:

Math.ceil(0.5)结果是1.0没问题,但为什么Math.ceil(1/2)结果是0.0 ?

因为1/2的值为0,所以返回的是0.0

1/2并不是数学意义上的分数二分之一,在计算机里是不存在分数这个概念的。
1/2表示的是1整除2,既然是整除,那么值就是0。所以Math.ceil(0)=0.0
改为1.0/2,因为有浮点数,所以判定这不是int型的整除,而是浮点数的除法,此时值才是0.5,Math.ceil(1.0/2)结果才是1.0