logo

Konverter dobbel til heltall i Java

Gitt et dobbelt reelt tall. Skriv et Java-program for å konvertere det gitte dobbelttallet til et heltall (int) i Java.

Eksempler:

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

Dobbelt: Den doble datatypen er et 64-bits IEEE 754 flytende punkt med dobbel presisjon. Verdiområdet er uendelig. Den doble datatypen brukes vanligvis for desimalverdier, akkurat som float. Den doble datatypen bør heller aldri brukes for presise verdier, for eksempel valuta. Det er standardverdien er 0,0 .



 Example:  double d1 = 10.5>

Heltall: Integer- eller int-datatypen er et 32-bits to-komplement-heltall med fortegn. Verdiområdet ligger mellom – 2.147.483.648 (-2^31) til 2.147.483.647 (2^31 -1) (inklusive). Minimumsverdien er – 2.147.483.648 og maksimumsverdien er 2.147.483.647. Det er standardverdien er 0 . Int-datatypen brukes vanligvis som standard datatype for integralverdier med mindre det ikke er noe problem med minnet.

 Example: int a = 10>

tilnærminger

Det er mange tilnærminger for å gjøre konverteringen av Double datatype til Integer (int) datatype. Noen av dem er listet opp nedenfor.

  • Ved hjelp av TypeCasting
  • Ved hjelp av Double.intValue() metode
  • Ved hjelp av Math.round() metode

Tilnærming 1: Bruke TypeCasting

Denne teknikken er veldig enkel og brukervennlig.

Syntaks:

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

Eksempel:

Java




hvilke måneder er q1
// 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);> >}> }>

>

>

Produksjon

Double - 3452.345 Integer - 3452>

Tidskompleksitet: O(1) som konstante operasjoner brukes.
Hjelpeplass: O(1) fordi det ikke kreves ekstra plass.

Tilnærming 2: Bruk av Double.intValue()-metoden

Denne teknikken ligner på typecasting-metoden. Hovedforskjellen mellom typecasting-metoden og denne metoden er at typecasting-metoden er en eksplisitt metode, og denne metoden er en Wrapper-klasse Dobbel avkorter alle sifre etter desimaltegnet.

Syntaks:

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

Eksempel:

Java


kjøretidsfeil



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

>

>

Produksjon:

Double - 3452.345 Double - 3452>

Tidskompleksitet: O(1) som konstante operasjoner brukes.
Hjelpeplass: O(1) fordi det ikke kreves ekstra plass.

gimp lagre som jpeg

Tilnærming 3: Bruke Math.round() metode

Math.round() godtar en dobbel verdi og konverterer den til nærmeste lange verdi ved å legge til 0,5 til verdien og trimme desimaltegnene. Den lange verdien kan deretter konverteres til en int ved hjelp av typecasting.

Syntaks:

long Math.Round(Double doubleValue);>

Eksempel:

Java




hvordan konvertere int til streng 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);> >}> }>

>

>

Produksjon

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

Tidskompleksitet: O(1) som konstante operasjoner brukes.
Hjelpeplass: O(1) fordi det ikke kreves ekstra plass.

Merk: Her kan du se at Math.round()-metoden konverterer dobbelen til et heltall ved å runde av tallet til nærmeste heltall.

For eksempel - 10.6 vil bli konvertert til 11 ved hjelp av Math.round() metode og 1ill bli konvertert til 10 ved å bruke typecasting eller Double.intValue()-metoden .