CodeGym /Blog Java /Random-ES /Cómo convertir int a doble en Java
Autor
Pavlo Plynko
Java Developer at CodeGym

Cómo convertir int a doble en Java

Publicado en el grupo Random-ES

Brevemente sobre los tipos int y double en Java

int es un tipo primitivo de Java para números enteros (como -25, 0, 1828182845). Este tipo utiliza 32 bits para almacenar un valor variable. El rango de números enteros es de -231 a 231 - 1 o, lo que es lo mismo, de -2147483648 a 2147483647. El tipo doble en Java representa números en coma flotante, asigna 64 bits en memoria y el rango del tipo es -1.7 *10308 a 1,7*10308. Si representa el rango de int de la misma forma, será -2*109 до +2*109. Creo que es obvio que cualquier número de tipo int cabrá en la memoria asignada para un número de tipo primitivo doble. Además, cualquier número entero se puede representar como un número fraccionario con una parte fraccionaria cero. Desde el punto de vista matemático, no hay duda de que: 5 = 5,0 o -57,0 = -57.

Convirtiendo int a double

Desde la perspectiva de Java, los tipos double e int también son compatibles. Dado que la conversión de int a doble se trata de convertir más grande a más pequeño, este tipo de conversión llama a la ampliación o encamisado de tipo implícito. Puede convertir int a double en Java automáticamente, asignando el valor int a una variable double. Veamos un ejemplo de código de encasillamiento:

public class intToDouble {
   public static void main(String[] args) {
       int myInt1 = 10;
       int myInt2 = 2147483647;
       double myDouble1, myDouble2;
       System.out.println("my integers are: " + myInt1 + ", " + myInt2);
       myDouble1 = myInt1;
       myDouble2 = myInt2;
       System.out.println("after typecasting/widening to double: " + myDouble1 + ", " + myDouble2);
   }
}
Aquí está la salida:
mis números enteros son: 10, 2147483647 después de encasillar/ampliar al doble: 10.0, 2.147483647E9
Notas: E9 aquí significa 109, se llama notación científica. Tenga en cuenta también que los números dobles generalmente se escriben con un punto que separa la parte fraccionaria. si declaras una variable de doble y le pones un valor, no es necesario hacer esto, pero en la salida el número doble siempre tendrá una parte fraccionaria, incluso si es cero.

Convertir int a double usando una operación numérica neutral

Además, todas las operaciones numéricas sobre variables de diferentes tipos en Java conducen a la ampliación del tipo. Es decir, el resultado de la operación será de tipo más amplio. Por lo tanto, para convertir de int a doble, puede usar la operación "neutral". Por ejemplo, multiplique un int por 1,0 (un número doble) o agregue 0,0 a un int. Aquí hay un ejemplo de tal encasillamiento:

public class intToDouble {
   public static void main(String[] args) {
       double a = 1;  //you can also write 1.0 here. If you print it out it will be 1.0
       int b = 5, x = 7;
       System.out.println(x + 0.0);
       System.out.println(a*b);
   }
}
La salida es:
7.0 5.0
Por cierto, puede convertir a double no solo int, sino todos los tipos primitivos numéricos. Aquí está el orden de conversión posible de menor a mayor:
Byte -> Corto -> Char -> Int -> Largo -> Flotante -> Doble
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION