Dado un número real doble. Escriba un programa Java para convertir el número doble dado en un número entero (int) en Java.
Ejemplos:
Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98>
Doble: El tipo de datos doble es un punto flotante IEEE 754 de 64 bits de doble precisión. Su rango de valores es infinito. El tipo de datos doble se usa comúnmente para valores decimales, al igual que flotante. El tipo de datos doble tampoco debe usarse nunca para valores precisos, como la moneda. Es el valor predeterminado es 0.0 .
Example: double d1 = 10.5>
Entero: El tipo de datos Integer o int es un entero en complemento a dos con signo de 32 bits. Su rango de valores se encuentra entre – 2.147.483.648 (-2^31) y 2.147.483.647 (2^31 -1) (inclusive). Su valor mínimo es – 2.147.483.648 y el valor máximo es 2.147.483.647. Es el valor predeterminado es 0 . El tipo de datos int generalmente se usa como tipo de datos predeterminado para valores integrales a menos que no haya ningún problema con la memoria.
Example: int a = 10>
Enfoques
Existen numerosos enfoques para realizar la conversión de un tipo de datos doble a un tipo de datos entero (int). Algunos de ellos se enumeran a continuación.
- Usando TipoCasting
- Usando Doble.intValue() método
- Usando Matemáticas.ronda() método
Enfoque 1: uso TipoCasting
Esta técnica es muy sencilla y fácil de usar.
Sintaxis:
double data = 3452.345 int value = (int)data;>
Ejemplo:
Java
convención de nomenclatura para java
// Java program to convert Double to> // int using Typecasting> public> class> GFG {> >// main method> >public> static> void> main(String args[])> >{> >// Get the double value> >double> data =>3452.345>;> >System.out.println(>'Double - '> + data);> >// convert into int> >int> value = (>int>)data;> >// print the int value> >System.out.println(>'Integer - '> + value);> >}> }> |
>
>Producción
Double - 3452.345 Integer - 3452>
Complejidad del tiempo: Se utilizan O(1) como operaciones constantes.
Espacio Auxiliar: O(1) porque no se requiere espacio adicional.
Método 2: uso del método Double.intValue()
Esta técnica es similar al método de encasillamiento. La principal diferencia entre el método de encasillamiento y este método es que el método de encasillamiento es un método explícito y este método es una clase Wrapper Double que trunca todos los dígitos después del punto decimal.
Sintaxis:
double data = 3452.345 Double newData = new Double(data); int value = newData.intValue();>
Ejemplo:
Java
// Java program to convert Double to int> // using Double.intValue()> public> class> GFG {> >// main method> >public> static> void> main(String args[])> >{> >// Get the double value> >Double data =>3452.345>;> >System.out.println(>'Double - '> + data);> >// Create a wrapper around> >// the double value> >Double newData =>new> Double(data);> >// convert into int> >int> value = newData.intValue();> >// print the int value> >System.out.println(>'Double - '> + value);> >}> }> |
>
>
Producción:
Double - 3452.345 Double - 3452>
Complejidad del tiempo: Se utilizan O(1) como operaciones constantes.
Espacio Auxiliar: O(1) porque no se requiere espacio adicional.
Enfoque 3: uso Matemáticas.ronda() método
Matemáticas.ronda() acepta un valor doble y lo convierte en el valor largo más cercano sumando 0,5 al valor y recortando sus puntos decimales. Luego, el valor long se puede convertir a un int mediante encasillamiento.
Sintaxis:
long Math.Round(Double doubleValue);>
Ejemplo:
Java
// Java program to convert Double to int> // using Math.round()> public> class> GFG {> >// main method> >public> static> void> main(String args[])> >{> >// Get the double value> >double> data1 =>3452.345>;> >System.out.println(>'Double : '> + data1);> >// convert into int> >int> value1 = (>int>)Math.round(data1);> >// print the int value> >System.out.println(>'Integer : '> + value1);> > >double> data2 =>3452.765>;> >System.out.println(>'
Double : '> + data2);> >// convert into int> >int> value2 = (>int>)Math.round(data2);> >// print the int value> >System.out.println(>'Integer : '> + value2);> >}> }> |
>
>Producción
Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453>
Complejidad del tiempo: Se utilizan O(1) como operaciones constantes.
Espacio Auxiliar: O(1) porque no se requiere espacio adicional.
Nota: Aquí puedes ver que el método Math.round() convierte el doble en un número entero redondeando el número al entero más cercano.
tupla javaPor ejemplo - 10.6 se convertirá en 11 usando Math.round() método y se convertirá a 10 usando el método encasillado o Double.intValue() .