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 satunnainenEsimerkiksi - 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ää .