Étant donné un nombre réel double. Écrivez un programme Java pour convertir le nombre double donné en un entier (int) en Java.
Exemples:
Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98>
Double: Le type de données double est une virgule flottante IEEE 754 64 bits double précision. Sa plage de valeurs est infinie. Le type de données double est couramment utilisé pour les valeurs décimales, tout comme float. Le type de données double ne doit également jamais être utilisé pour des valeurs précises, telles que la devise. C'est la valeur par défaut est 0,0 .
Example: double d1 = 10.5>
Entier: Le type de données Integer ou int est un entier signé en complément à deux de 32 bits. Sa plage de valeurs est comprise entre – 2 147 483 648 (-2^31) et 2 147 483 647 (2^31 -1) (inclus). Sa valeur minimale est de – 2 147 483 648 et sa valeur maximale est de 2 147 483 647. C'est la valeur par défaut est 0 . Le type de données int est généralement utilisé comme type de données par défaut pour les valeurs intégrales, sauf s'il n'y a pas de problème de mémoire.
Example: int a = 10>
Approches
Il existe de nombreuses approches pour effectuer la conversion du type de données Double en type de données Integer (int). Quelques-uns d’entre eux sont répertoriés ci-dessous.
- En utilisant TypeCasting
- En utilisant Double.intValue() méthode
- En utilisant Math.round() méthode
Approche 1 : Utiliser TypeCasting
Cette technique est très simple et conviviale.
Syntaxe:
: en java
double data = 3452.345 int value = (int)data;>
Exemple:
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);> >}> }> |
>
>Sortir
Double - 3452.345 Integer - 3452>
Complexité temporelle : O(1) car les opérations constantes sont utilisées.
Espace auxiliaire : O(1) car aucun espace supplémentaire n’est requis.
Approche 2 : Utilisation de la méthode Double.intValue()
Cette technique est similaire à la méthode de transtypage. La principale différence entre la méthode de transtypage et cette méthode est que la méthode de transtypage est une méthode explicite et que cette méthode est une classe Wrapper Double tronque tous les chiffres après la virgule décimale.
Actrice Rubina Dilaik
Syntaxe:
double data = 3452.345 Double newData = new Double(data); int value = newData.intValue();>
Exemple:
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);> >}> }> |
>
>
Sortir:
Double - 3452.345 Double - 3452>
Complexité temporelle : O(1) car les opérations constantes sont utilisées.
Espace auxiliaire : O(1) car aucun espace supplémentaire n’est requis.
Approche 3 : Utiliser Math.round() méthode
Math.round() accepte une valeur double et la convertit en la valeur longue la plus proche en ajoutant 0,5 à la valeur et en coupant ses points décimaux. La valeur longue peut ensuite être convertie en int à l’aide du transtypage.
Syntaxe:
long Math.Round(Double doubleValue);>
Exemple:
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);> >}> }> |
>
>Sortir
entier dans une chaîne
Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453>
Complexité temporelle : O(1) car les opérations constantes sont utilisées.
Espace auxiliaire : O(1) car aucun espace supplémentaire n’est requis.
Note: Ici vous pouvez voir que la méthode Math.round() convertit le double en entier en arrondissant le nombre à l'entier le plus proche.
Par exemple - 10.6 sera converti en 11 en utilisant Math.round() méthode et 1 sera converti en 10 en utilisant la méthode de transtypage ou Double.intValue() .