Почему math.Ceil возвращает двойной?

, когда я звоню Math.Ceil (5.2) Возврат - это двойной 6,0 . Моя естественная склонность состояла в том, чтобы думать, что Math.Ceil (двойной а) вернет бы длинный . Из документации:

CEIL (двойной а)

возвращает самые маленькие (ближайшие к отрицательной бесконечности) Double значение это не меньше, чем аргумент и равно математическому Целое число.

Но зачем возвращать Double , а не длинный , когда результат является целым числом? Я думаю, что понимание причины это может помочь мне понять Java немного лучше. Это также может помочь мне выяснить, если я возьму себя в беде, литья в длинный , например,

длинный B = (длинный) Math.Ceil (A);

Всегда, что я думаю, это должно быть? Я боюсь, что могут быть некоторые граничные случаи проблематики.

73
задан Cœur 8 October 2017 в 07:12
поделиться