如何直接将Double转换为int?

可能是这个愚蠢的问题。 我想摆脱Double数的小数部分。 但我不能这样做。 它显示了不兼容types的错误。 该怎么办?

Double to int转换在一行….请帮助谢谢

如果你真的应该使用Double而不是double,你甚至可以通过调用来获得Double的int值:

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

否则已经由Peter Lawreys所描述的答案了。

所有其他的答案是正确的,但要记住,如果你把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();