logo

Konverter dobbelt til heltal i Java

Givet et dobbelt reelt tal. Skriv et Java-program til at konvertere det givne dobbelttal til et heltal (int) i Java.

Eksempler:

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

Dobbelt: Den dobbelte datatype er en dobbeltpræcision 64-bit IEEE 754 flydende komma. Dets værdiområde er uendeligt. Den dobbelte datatype bruges almindeligvis til decimalværdier, ligesom float. Den dobbelte datatype bør heller aldrig bruges til præcise værdier, såsom valuta. Dens standardværdien er 0,0 .



 Example:  double d1 = 10.5>

Heltal: Integer- eller int-datatypen er et 32-bit signeret to-komplement heltal. Dens værdiområde ligger mellem – 2.147.483.648 (-2^31) til 2.147.483.647 (2^31 -1) (inklusive). Dens minimumsværdi er – 2.147.483.648 og maksimumværdien er 2.147.483.647. Dens standardværdien er 0 . Int-datatypen bruges generelt som standarddatatype for integralværdier, medmindre der ikke er noget problem med hukommelsen.

 Example: int a = 10>

Tilgange

Der er adskillige metoder til konvertering af Double datatype til Integer (int) datatype. Et par af dem er anført nedenfor.

  • Ved brug af TypeCasting
  • Ved brug af Double.intValue() metode
  • Ved brug af Math.round() metode

Fremgangsmåde 1: Brug TypeCasting

Denne teknik er meget enkel og brugervenlig.

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

>

>

Produktion

Double - 3452.345 Integer - 3452>

Tidskompleksitet: O(1) som konstante operationer anvendes.
Hjælpeplads: O(1), fordi der ikke kræves ekstra plads.

Fremgangsmåde 2: Brug af Double.intValue() metoden

Denne teknik ligner typecasting-metoden. Den største forskel mellem typecasting-metoden og denne metode er, at typecasting-metoden er en eksplicit metode, og denne metode er en Wrapper-klasse Dobbelt afkorter alle cifre efter decimaltegnet.

Syntaks:

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

Eksempel:

Java


maskinskrift på kort



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

Tidskompleksitet: O(1) som konstante operationer anvendes.
Hjælpeplads: O(1), fordi der ikke kræves ekstra plads.

læs excel-fil i java

Fremgangsmåde 3: Brug Math.round() metode

Math.round() accepterer en dobbelt værdi og konverterer den til den nærmeste lange værdi ved at lægge 0,5 til værdien og trimme dens decimaltegn. Den lange værdi kan derefter konverteres til en int ved hjælp af typecasting.

Syntaks:

long Math.Round(Double doubleValue);>

Eksempel:

Java




forskel i python

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

Tidskompleksitet: O(1) som konstante operationer anvendes.
Hjælpeplads: O(1), fordi der ikke kræves ekstra plads.

Bemærk: Her kan du se, at Math.round()-metoden konverterer det dobbelte til et heltal ved at afrunde tallet til det nærmeste heltal.

For eksempel - 10.6 vil blive konverteret til 11 ved hjælp af Math.round() metode og 1vil blive konverteret til 10 ved hjælp af typecasting eller Double.intValue() metoden .