Возвращает наименьшее (ближайшее к отрицательной бесконечности) двойное значение, которое больше или равно аргументу и равна математическое целое. Особые случаи:
Если значение аргумента уже равно математическому целому числу, тогда результат будет таким же, как и аргумент.
Если аргумент NaN или бесконечность или положительный нуль или отрицательный ноль, то результат будет таким же, как и аргумент.
Если значение аргумента меньше нуля, но больше -1.0, тогда результат отрицательный.
Обратите внимание, что значение Math.ceil(x) - это точно значение -Math.floor(-x).
Ответ 2
попробуйте это
float a = 4.5f;
int d = (int) Math.ceil(a);
System.out.println(d);
Ответ 3
У меня была такая же проблема, когда я все еще получал меньшую ценность int. Это было разделение, а не математика. Вы должны добавить (float) бросок в int. Вот как я его исправил:
int totalNumberOfCachedData = 201;
int DataCountMax = 200;
float ceil =(float) totalNumberOfCachedData / (float)DataCountMax;
int roundInt = (int) Math.ceil(ceil);