有办法将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"
当前回答
内存效率高,因为它将共享已经创建的Double实例。
Double.valueOf(Math.floor(54644546464/60*60*24*365)).intValue()
其他回答
或者,可以先转换为原语double,然后转换为int,让它自动装箱为Integer。
Double d = 20.3;
Integer i = (int) (double) d; //20
//To obtain primitive:
int i2 = (int) (double) d;
在Double对象上调用intValue()。
Double d = 100.00;
Integer i = d.intValue();
还应该补充一点,它与自动装箱一起工作。
否则,你得到一个int(原语),然后可以从那里得到一个Integer:
Integer i = new Integer(d.intValue());
你需要使用方法intValue()像这样显式地获取int值:
Double d = 5.25;
Integer i = d.intValue(); // i becomes 5
Or
double d = 5.25;
int i = (int) d;
这对我很有效。试试这个:
double od = Double.parseDouble("1.15");
int oi = (int) od;