为什么 Math.ceil 会返回双精度值?
2022-08-31 12:48:35
当我调用返回时是 .我的自然倾向是认为这会返回.从文档中:Math.ceil(5.2)double6.0Math.ceil(double a)long
ceil(double a)返回最小(最接近负无穷大)值,该值不小于参数并等于数学整数。
double
但是,当结果是整数时,为什么要返回 a 而不是 a 呢?我认为理解它背后的原因可能有助于我更好地理解Java。它也可能帮助我弄清楚,我是否会因为投掷到一个,例如doublelonglong
long b = (long)Math.ceil(a);
总是我认为它应该是什么?我担心可能会有一些有问题的边界案例。