У меня была та же проблема, когда я все еще получал меньшее значение int.Это было разделение, а не Math.ceil.Вы должны добавить (float) приведение к ints.Вот как я это исправил:
int totalNumberOfCachedData = 201;
int DataCountMax = 200;
float ceil =(float) totalNumberOfCachedData / (float)DataCountMax;
int roundInt = (int) Math.ceil(ceil);
Это даст мне 2 для значения roundInt.