Я хочу преобразовать двойные значения в значения int в java. Я сталкиваюсь с проблемой, что простое кастинг не работает так, как я хочу, и Math.round() тоже не делает этого.Округление двойного на int всегда меньше
Моя цель состоит в том, чтобы удвоить округление до следующего меньшего значения int. В следующем:
0.5 -> 0
1.7 -> 1
2.9 -> 2
-0.3 -> -1
-3.9 -> -4
Проблема в основном являются различными методами обработки меньше 0. Так как я не хочу, чтобы округлить до высшего, но и к более низкому значению.
Есть ли для этого функция java-native или как ее можно эффективно реализовать? Я подумал о следующем, но я бы предпочел использовать функцию java-native.
double d = -0.1D; // or whatever else
int i = (double) ((int) d) <= d ? (int) d : (int) d - 1;
Тьфу, я на самом деле пытался, что один, но реализовал ошибку перед ... Так я думал, что это не ведет себя, как я хотел. Спасибо, хотя xD –