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