有办法将java.lang.Double转换为java.lang.Integer吗?
它会抛出一个异常
" . lang。ClassCastException: java.lang.Double不兼容java.lang.Integer"
有办法将java.lang.Double转换为java.lang.Integer吗?
它会抛出一个异常
" . lang。ClassCastException: java.lang.Double不兼容java.lang.Integer"
当前回答
首先你应该用双份而不是双份。
例子
int intResult = newDoubleObj.intValue();
其他回答
我认为有三种可能。前两个截断数字,最后一个舍入到最近的整数。
double d = 9.5;
int i = (int)d;
//i = 9
Double D = 9.5;
int i = Integer.valueOf(D.intValue());
//i = 9
double d = 9.5;
Long L = Math.round(d);
int i = Integer.valueOf(L.intValue());
//i = 10
试试这个
double doubleValue = 6.5;Double doubleObj = new Double(doubleValue);int intResult = doubleObj.intValue();
double a = 13.34;
int b = (int) a;
System.out.println(b); //prints 13
这对我很有效。试试这个:
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;