logo

Konvertuokite dvigubą skaičių į sveikąjį skaičių „Java“.

Duotas dvigubas tikrasis skaičius. Parašykite „Java“ programą, kad pakeistumėte pateiktą dvigubą skaičių į sveikąjį skaičių (int) Java kalba.

Pavyzdžiai:



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

Dvigubas: Dvigubas duomenų tipas yra dvigubo tikslumo 64 bitų IEEE 754 slankusis kablelis. Jo verčių diapazonas yra begalinis. Dvigubas duomenų tipas dažniausiai naudojamas dešimtainėms reikšmėms, kaip ir float. Dvigubas duomenų tipas taip pat niekada neturėtų būti naudojamas tikslioms vertėms, pvz., valiutai. Jo numatytoji reikšmė yra 0,0 .

 Example:  double d1 = 10.5>

Sveikasis skaičius: Integer arba int duomenų tipas yra 32 bitų pasirašytas dviejų komplemento sveikasis skaičius. Jo verčių diapazonas yra nuo –2 147 483 648 (-2^31) iki 2 147 483 647 (2^31 -1) (imtinai). Mažiausia jo vertė – 2 147 483 648, o didžiausia – 2 147 483 647. Jo numatytoji reikšmė yra 0 . Int duomenų tipas paprastai naudojamas kaip numatytasis duomenų tipas integralioms reikšmėms, nebent nėra problemų dėl atminties.

 Example: int a = 10>

Prieigos

Yra daug būdų, kaip dvigubo duomenų tipo konvertuoti į sveikojo skaičiaus (int) duomenų tipą. Keletas iš jų yra išvardyti žemiau.



  • Naudojant TypeCasting
  • Naudojant Double.intValue() metodas
  • Naudojant Math.round() metodas

1 metodas: naudojimas TypeCasting

Ši technika yra labai paprasta ir patogi.

Sintaksė:

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

Pavyzdys:



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

>

>

Išvestis

Double - 3452.345 Integer - 3452>

Laiko sudėtingumas: O(1) naudojamos kaip pastovios operacijos.
Pagalbinė erdvė: O(1), nes nereikia papildomos vietos.

2 metodas: Double.intValue() metodo naudojimas

Šis metodas yra panašus į spausdinimo metodą. Pagrindinis skirtumas tarp spausdinimo metodo ir šio metodo yra tas, kad spausdinimo metodas yra aiškus metodas, o šis metodas yra Wrapper klasė Double sutrumpina visus skaitmenis po kablelio.

Sintaksė:

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

Pavyzdys:

Java


„Apple“ emocijos „Android“.



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

>

>

Išvestis:

Double - 3452.345 Double - 3452>

Laiko sudėtingumas: O(1) naudojamos kaip pastovios operacijos.
Pagalbinė erdvė: O(1), nes nereikia papildomos vietos.

3 metodas: naudojimas Math.round() metodas

Math.round() priima dvigubą reikšmę ir konvertuoja ją į artimiausią ilgąją reikšmę, pridėdamas prie vertės 0,5 ir apkarpydamas jos kablelius. Tada ilgąją reikšmę galima konvertuoti į int naudojant tipo liejimą.

Sintaksė:

long Math.Round(Double doubleValue);>

Pavyzdys:

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

>

>

Išvestis

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

Laiko sudėtingumas: O(1) naudojamos kaip pastovios operacijos.
Pagalbinė erdvė: O(1), nes nereikia papildomos vietos.

Pastaba: Čia matote, kad metodas Math.round() konvertuoja dvigubą skaičių į sveikąjį skaičių, suapvalindamas skaičių iki artimiausio sveikojo skaičiaus.

Pavyzdžiui - 10.6 bus konvertuojamas į 11 naudojant Math.round() metodas ir 1ill bus konvertuoti į 10 naudojant typecasting arba Double.intValue() metodą .