logo

Muunna Double kokonaisluvuksi Javassa

Annettu kaksinkertainen reaaliluku. Kirjoita Java-ohjelma, joka muuntaa annetun kaksoisluvun Javassa kokonaisluvuksi (int).

Esimerkkejä:



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

Kaksinkertainen: Kaksoistietotyyppi on kaksinkertainen tarkkuus 64-bittinen IEEE 754 liukuluku. Sen arvoalue on loputon. Kaksoistietotyyppiä käytetään yleisesti desimaaliarvoille, kuten float-arvoille. Kaksoistietotyyppiä ei myöskään saa koskaan käyttää tarkkoihin arvoihin, kuten valuuttaan. Sen oletusarvo on 0.0 .

 Example:  double d1 = 10.5>

Kokonaisluku: Kokonaisluku tai int-tietotyyppi on 32-bittinen etumerkillä varustettu kahden komplementin kokonaisluku. Sen arvoalue on välillä –2 147 483 648 (-2^31) - 2 147 483 647 (2^31 -1) (mukaan lukien). Sen minimiarvo on – 2 147 483 648 ja maksimiarvo 2 147 483 647. Sen oletusarvo on 0 . Int-tietotyyppiä käytetään yleensä oletustietotyyppinä integraaliarvoille, ellei muistissa ole ongelmia.

 Example: int a = 10>

Lähestymistapoja

Kaksinkertaisen tietotyypin muuntamiseen Integer (int) -tietotyypiksi on useita tapoja. Muutama niistä on lueteltu alla.



  • Käyttämällä TypeCasting
  • Käyttämällä Double.intValue() menetelmä
  • Käyttämällä Math.round() menetelmä

Lähestymistapa 1: Käyttö TypeCasting

Tämä tekniikka on erittäin yksinkertainen ja käyttäjäystävällinen.

Syntaksi:

double data = 3452.345 int value = (int)data;>

Esimerkki:



Java




arp-komento

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

>

>

Lähtö

Double - 3452.345 Integer - 3452>

Aika monimutkaisuus: O(1) vakiooperaatioina käytetään.
Aputila: O(1), koska lisätilaa ei tarvita.

Lähestymistapa 2: Double.intValue()-menetelmän käyttäminen

Tämä tekniikka on samanlainen kuin kirjoitusmenetelmä. Suurin ero typecasting-menetelmän ja tämän menetelmän välillä on se, että typecasting-menetelmä on eksplisiittinen menetelmä, ja tämä menetelmä on Wrapper-luokka Double katkaisee kaikki desimaalipilkun jälkeiset numerot.

Syntaksi:

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

Esimerkki:

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

>

>

Lähtö:

Double - 3452.345 Double - 3452>

Aika monimutkaisuus: O(1) vakiooperaatioina käytetään.
Aputila: O(1), koska lisätilaa ei tarvita.

Lähestymistapa 3: käyttö Math.round() menetelmä

Math.round() hyväksyy kaksinkertaisen arvon ja muuntaa sen lähimmäksi pitkäksi arvoksi lisäämällä arvoon 0,5 ja leikkaamalla sen desimaalipisteet. Pitkä arvo voidaan sitten muuntaa int:ksi typecastingin avulla.

Syntaksi:

long Math.Round(Double doubleValue);>

Esimerkki:

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

>

>

Lähtö

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

Aika monimutkaisuus: O(1) vakiooperaatioina käytetään.
Aputila: O(1), koska lisätilaa ei tarvita.

Huomautus: Tästä näet, että Math.round()-menetelmä muuntaa tuplauksen kokonaisluvuksi pyöristämällä luvun lähimpään kokonaislukuun.

java matematiikka satunnainen

Esimerkiksi - 10.6 muunnetaan muotoon 11 käyttäen Math.round() menetelmä ja 1ill muunnetaan muotoon 10 käyttämällä typecasting- tai Double.intValue()-menetelmää .