How to convert Double to int directly? [duplicate]

Solution 1:

If you really should use Double instead of double you even can get the int Value of Double by calling:

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

Else its already described by Peter Lawreys answer.

Solution 2:

All other answer are correct, but remember that if you cast double to int you will loss decimal value.. so 2.9 double become 2 int.

You can use Math.round(double) function or simply do :

(int)(yourDoubleValue + 0.5d)

Solution 3:

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

Result is: myInt = 12

Solution 4:

try casting the value

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

Solution 5:

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