有办法将java.lang.Double转换为java.lang.Integer吗?

它会抛出一个异常

" . lang。ClassCastException: java.lang.Double不兼容java.lang.Integer"


当前回答

这对我很有效。试试这个:

double od = Double.parseDouble("1.15");
int oi = (int) od;

其他回答

Double d = 100.00;
Integer i = d.intValue();

还应该补充一点,它与自动装箱一起工作。

否则,你得到一个int(原语),然后可以从那里得到一个Integer:

Integer i = new Integer(d.intValue());

首先你应该用双份而不是双份。

例子

int intResult = newDoubleObj.intValue();

这对我很有效。试试这个:

double od = Double.parseDouble("1.15");
int oi = (int) od;

或者,可以先转换为原语double,然后转换为int,让它自动装箱为Integer。

Double d = 20.3;
Integer i = (int) (double) d; //20
//To obtain primitive:
int i2 = (int) (double) d;
double a = 13.34;
int b = (int) a;

System.out.println(b); //prints 13