logo

Konvertera dubbelt till heltal i Java

Givet ett dubbelt reellt tal. Skriv ett Java-program för att konvertera det givna dubbeltalet till ett heltal (int) i Java.

Exempel:



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

Dubbel: Den dubbla datatypen är en 64-bitars IEEE 754 flyttal med dubbel precision. Dess värdeintervall är oändligt. Den dubbla datatypen används vanligtvis för decimalvärden, precis som float. Den dubbla datatypen ska heller aldrig användas för exakta värden, såsom valuta. Dess standardvärdet är 0,0 .

 Example:  double d1 = 10.5>

Heltal: Datatypen heltal eller int är ett 32-bitars signerat två-komplement heltal. Dess värdeområde ligger mellan – 2,147,483,648 (-2^31) till 2,147,483,647 (2^31 -1) (inklusive). Dess lägsta värde är – 2 147 483 648 och maxvärdet är 2 147 483 647. Dess standardvärdet är 0 . Int-datatypen används vanligtvis som standarddatatyp för integralvärden om det inte finns några problem med minnet.

 Example: int a = 10>

Närmar sig

Det finns många metoder för att göra omvandlingen av Double datatype till Integer (int) datatype. Några av dem listas nedan.



  • Använder sig av TypeCasting
  • Använder sig av Double.intValue() metod
  • Använder sig av Math.round() metod

Tillvägagångssätt 1: Använda TypeCasting

Denna teknik är mycket enkel och användarvänlig.

Syntax:

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

Exempel:



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

>

>

Produktion

Double - 3452.345 Integer - 3452>

Tidskomplexitet: O(1) som konstanta operationer används.
Hjälputrymme: O(1) eftersom inget extra utrymme krävs.

Metod 2: Använda metoden Double.intValue().

Denna teknik liknar typecasting-metoden. Den största skillnaden mellan typecasting-metoden och den här metoden är att typecasting-metoden är en explicit metod, och den här metoden är en Wrapper-klass Dubbel trunkerar alla siffror efter decimalkomma.

Syntax:

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

Exempel:

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

>

>

Produktion:

Double - 3452.345 Double - 3452>

Tidskomplexitet: O(1) som konstanta operationer används.
Hjälputrymme: O(1) eftersom inget extra utrymme krävs.

Tillvägagångssätt 3: Använda Math.round() metod

Math.round() accepterar ett dubbelt värde och omvandlar det till närmaste långa värde genom att lägga till 0,5 till värdet och trimma dess decimaler. Det långa värdet kan sedan konverteras till en int med hjälp av typecasting.

Syntax:

long Math.Round(Double doubleValue);>

Exempel:

Java




siffror i alfabetet

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

>

>

Produktion

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

Tidskomplexitet: O(1) som konstanta operationer används.
Hjälputrymme: O(1) eftersom inget extra utrymme krävs.

Notera: Här kan du se att metoden Math.round() omvandlar det dubbla till ett heltal genom att avrunda talet till närmaste heltal.

Till exempel - 10.6 kommer att konverteras till 11 med Math.round() metod och 1ill konverteras till 10 med hjälp av typecasting eller Double.intValue()-metoden .