logo

Converteix doble a enter en Java

Donat un nombre real doble. Escriu un programa Java per convertir el nombre doble donat en un enter (int) en Java.

Exemples:



 Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98>

Doble: El tipus de dades doble és un punt flotant IEEE 754 de 64 bits de doble precisió. El seu rang de valors és infinit. El tipus de dades doble s'utilitza habitualment per a valors decimals, igual que float. El tipus de dades doble tampoc s'ha d'utilitzar mai per a valors precisos, com ara la moneda. El seu el valor per defecte és 0,0 .

 Example:  double d1 = 10.5>

Enter: El tipus de dades Integer o int és un enter de complement a dos amb signe de 32 bits. El seu rang de valors es troba entre -2.147.483.648 (-2^31) i 2.147.483.647 (2^31 -1) (inclosos). El seu valor mínim és – 2.147.483.648 i el valor màxim és 2.147.483.647. El seu el valor per defecte és 0 . El tipus de dades int s'utilitza generalment com a tipus de dades predeterminat per a valors integrals, tret que no hi hagi cap problema amb la memòria.

 Example: int a = 10>

Enfocaments

Hi ha nombrosos enfocaments per fer la conversió de tipus de dades doble a tipus de dades enter (int). A continuació s'enumeren alguns d'ells.



  • Utilitzant Tipus Casting
  • Utilitzant Double.intValue() mètode
  • Utilitzant Math.round() mètode

Enfocament 1: Ús Tipus Casting

Aquesta tècnica és molt senzilla i fàcil d'utilitzar.

Sintaxi:

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);> >}> }>

>

>

Sortida

Double - 3452.345 Integer - 3452>

Complexitat temporal: S'utilitzen O(1) com a operacions constants.
Espai auxiliar: O(1) perquè no cal espai addicional.

Enfocament 2: utilitzant el mètode Double.intValue().

Aquesta tècnica és similar al mètode de tipografia. La principal diferència entre el mètode de tipografia i aquest mètode és que el mètode de tipografia és un mètode explícit, i aquest mètode és una classe Wrapper. Double trunca tots els dígits després del punt decimal.

Sintaxi:

double data = 3452.345 Double newData = new Double(data); int value = newData.intValue();>

Exemple:

Java


llista de nodes a 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);> >}> }>

>

>

Sortida:

Double - 3452.345 Double - 3452>

Complexitat temporal: S'utilitzen O(1) com a operacions constants.
Espai auxiliar: O(1) perquè no cal espai addicional.

Enfocament 3: Ús Math.round() mètode

Math.round() accepta un valor doble i el converteix en el valor llarg més proper afegint 0,5 al valor i retallant els seus decimals. Aleshores, el valor llarg es pot convertir en un int utilitzant el tipuscasting.

Sintaxi:

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);> >}> }>

>

>

Sortida

Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453>

Complexitat temporal: S'utilitzen O(1) com a operacions constants.
Espai auxiliar: O(1) perquè no cal espai addicional.

Nota: Aquí podeu veure que el mètode Math.round() converteix el doble en un enter arrodonint el nombre al nombre enter més proper.

format de cadena

Per exemple - 10.6 es convertirà en 11 utilitzant Math.round() mètode i es convertirà en 10 utilitzant el mètode typecasting o Double.intValue(). .