如何将Double直接转换为int?

时间:2011-03-23 10:56:54

标签: java

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

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

5 个答案:

答案 0 :(得分:177)

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

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

其他已经由Peter Lawreys回答。

答案 1 :(得分:26)

所有其他答案都是正确的,但请记住,如果你将double转换为int,你将丢失十进制值..所以2.9 double变为2 int。

您可以使用Math.round(double)功能,或只是执行:

(int)(yourDoubleValue + 0.5d)

答案 2 :(得分:21)

double myDb = 12.3;
int myInt = (int) myDb;

结果是:myInt = 12

答案 3 :(得分:10)

尝试转换值

double d = 1.2345;
long l = (long) d;

答案 4 :(得分:2)

int average_in_int = ( (Double) Math.ceil( sum/count ) ).intValue();