Как конвертировать Double в int напрямую? [дубликат]


этот вопрос уже есть ответ здесь:

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

Double to int конвертация в одну строку....пожалуйста, помогите спасибо

5   78   2011-03-23 13:56:53

5 ответов:

Если вы действительно должны использовать Double вместо double, вы даже можете получить значение int Double, вызвав:

Double d = new Double(1.23);
int i = d.intValue();

еще его уже описал Питер Лоуренс ответ.

все остальные ответы верны, но помните, что если вы приведете double к int, вы потеряете десятичное значение.. таким образом, 2.9 double становятся 2 int.

можно использовать Math.round(double) функция или просто сделать:

(int)(yourDoubleValue + 0.5d)
double myDb = 12.3;
int myInt = (int) myDb;

результат: myInt = 12

попробуйте привести значение

double d = 1.2345;
long l = (long) d;
int average_in_int = ( (Double) Math.ceil( sum/count ) ).intValue();