Pregunta Cómo convertir de doble a int directamente? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

Puede ser esta es una pregunta tonta. Quiero deshacerme de la parte fraccionaria de Double número. Pero no puedo hacer eso. Muestra el error de que los tipos incompatibles. ¿Qué hacer?

Double to int conversión en una línea ... por favor ayuda gracias


75
2018-03-23 10:56


origen


Respuestas:


Si realmente debería usar Double en lugar de double, incluso puede obtener el valor int de Double llamando a:

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

De lo contrario, ya está descrito por la respuesta de Peter Lawreys.


164
2018-03-23 11:04



Todas las otras respuestas son correctas, pero recuerda que si lanzas doble en int perderás valor decimal ... entonces 2.9 doble se convertirá en 2 int.

Puedes usar Math.round(double) función o simplemente hacer:

(int)(yourDoubleValue + 0.5d)

25
2018-02-12 16:56



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

El resultado es: myInt = 12


17
2018-03-04 10:41



intenta lanzar el valor

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

9
2018-03-23 10:58



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

2
2018-01-28 11:32