Приведите Double к Integer в Java - PullRequest
       37

Приведите Double к Integer в Java

325 голосов
/ 01 февраля 2012

Любой способ разыграть java.lang.Double на java.lang.Integer?

Выдает исключение

"java.lang.ClassCastException: java.lang. Двойной несовместим с java.lang.Integer"

Ответы [ 17 ]

3 голосов
/ 04 июля 2017

Попробуйте это

double doubleValue = 6.5;Double doubleObj = new Double(doubleValue);int intResult = doubleObj.intValue();
3 голосов
/ 11 сентября 2015

Вы можете сделать это, используя «Сужение или явное преобразование типов», double → long → int. Я надеюсь, что это сработает.

double d = 100.04;
long l = (long)d; // Explicit type casting required
int i = (int)l;    // Explicit type casting required

PS: он выдаст 0, так как double имеет все десятичные значения и ничего в левой части. В случае 0,58 он сузит его до 0. Но для других это сделает магию.

2 голосов
/ 01 февраля 2012

Double и Integer являются классами-обертками для примитивов Java для double и int соответственно. Вы можете разыгрывать между ними, но вы потеряете плавающую точку. То есть 5.4, приведенное к int, будет равно 5. Если вы приведете его обратно, оно будет равно 5.0.

0 голосов
/ 17 июля 2018

Память эффективна, так как будет использовать уже созданный экземпляр Double.

Double.valueOf(Math.floor(54644546464/60*60*24*365)).intValue()
0 голосов
/ 11 февраля 2018

Это сработало для меня. Попробуйте это:

double od = Double.parseDouble("1.15");
int oi = (int) od;
0 голосов
/ 12 июня 2015

Просто используйте метод intValue Double

Double initialValue = 7.12;
int finalValue = initialValue.intValue();
0 голосов
/ 01 марта 2015

Используйте метод doubleNumber.intValue();.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...