#java
Вопрос:
Я внедряю разбиение на страницы для своего веб-приложения, я использую hibernate над mysql. Мой код для получения номера последней страницы: int lastPageNumber = (int) (Математический код(количество результатов / Размер страницы));
Количество результатов будет равно 148, а размер страницы-10
Очевидно, что он составляет 14,8, но lastPageNumber теперь 14 вместо 15. Что-то не так, и я предполагаю, что это связано с приведением int, как это можно исправить и получить правильный ответ? 15…
Остальная часть кода такова
int pageSize = 10;
long countResults;
int lastPageNumber;
Комментарии:
1. Не могли бы вы дать полный пример кода, пожалуйста?
Ответ №1:
похоже, что таким образом изменяются типы данных:
double pageSize = 10;
double countResults;
double lastPageNumber;
решил свою проблему, и результат теперь правильный, теперь мне интересно, трачу ли я ресурсы впустую, используя двойника, или это единственное, что я могу сделать.
Ответ №2:
public class MyClass {
public static void main(String args[]) {
int Test1;
Test1 = (int) Math.ceil(14.8);
System.out.println("Test1 ---> " Test1); // Test1 ---> 15
System.out.println("Test2 ---> " Math.ceil(148 / 10)); // Test2 ---> 14.0
double Test3 = Math.ceil(148L / 10.0);
System.out.println("Test3 ---> " Test3); // Test3 ---> 15.0
}
}
Комментарии:
1. Единственное, чего я не могу понять, это Тест2