Konvertieren Sie Double in Integer in Java
Gegeben sei eine doppelte reelle Zahl. Schreiben Sie ein Java-Programm, um die angegebene Double-Zahl in eine Ganzzahl (int) in Java umzuwandeln.
Beispiele:
Input: double = 3452.234 Output: 3452 Input: double = 98.23 Output: 98
Doppelt: Der Double-Datentyp ist ein 64-Bit-IEEE 754-Gleitkomma mit doppelter Genauigkeit. Sein Wertebereich ist endlos. Der Double-Datentyp wird üblicherweise für Dezimalwerte verwendet, genau wie Float. Der Datentyp „Double“ sollte außerdem niemals für präzise Werte wie Währungen verwendet werden. Es ist Der Standardwert ist 0,0 .
Example: double d1 = 10.5
Ganze Zahl: Der Datentyp „Integer“ oder „int“ ist eine 32-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen. Sein Wertebereich liegt zwischen – 2.147.483.648 (-2^31) und 2.147.483.647 (2^31 -1) (einschließlich). Sein Mindestwert beträgt –2.147.483.648 und sein Höchstwert beträgt 2.147.483.647. Es ist Der Standardwert ist 0 . Der Datentyp int wird im Allgemeinen als Standarddatentyp für ganzzahlige Werte verwendet, es sei denn, es gibt kein Problem mit dem Speicher.
Example: int a = 10
Ansätze
Es gibt zahlreiche Ansätze für die Konvertierung des Double-Datentyps in den Integer-Datentyp (int). Einige davon sind unten aufgeführt.
- Benutzen TypeCasting
- Benutzen Double.intValue() Methode
- Benutzen Math.round() Methode
Ansatz 1: Verwenden TypeCasting
Diese Technik ist sehr einfach und benutzerfreundlich.
Syntax:
double data = 3452.345 int value = (int)data;
Beispiel:
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);> > }> }> |
Ausgabe
Double - 3452.345 Integer - 3452
Zeitkomplexität: O(1) als konstante Operationen werden verwendet.
Hilfsraum: O(1), da kein zusätzlicher Platz erforderlich ist.
Ansatz 2: Verwendung der Double.intValue()-Methode
Diese Technik ähnelt der Typisierungsmethode. Der Hauptunterschied zwischen der Typumwandlungsmethode und dieser Methode besteht darin, dass die Typumwandlungsmethode eine explizite Methode ist und diese Methode eine Wrapper-Klasse ist. Double schneidet alle Ziffern nach dem Dezimalpunkt ab.
Syntax:
double data = 3452.345 Double newData = new Double(data); int value = newData.intValue();
Beispiel:
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);> > }> }> |
Ausgabe:
Double - 3452.345 Double - 3452
Zeitkomplexität: O(1) als konstante Operationen werden verwendet.
Hilfsraum: O(1), da kein zusätzlicher Platz erforderlich ist.
Ansatz 3: Verwenden Math.round() Methode
Math.round() akzeptiert einen Double-Wert und wandelt ihn in den nächsten langen Wert um, indem 0,5 zum Wert addiert und seine Dezimalstellen gekürzt werden. Der Long-Wert kann dann mithilfe der Typumwandlung in einen Int-Wert umgewandelt werden.
Syntax:
long Math.Round(Double doubleValue);
Beispiel:
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);> > }> }> |
Ausgabe
Double : 3452.345 Integer : 3452 Double : 3452.765 Integer : 3453
Zeitkomplexität: O(1) als konstante Operationen werden verwendet.
Hilfsraum: O(1), da kein zusätzlicher Platz erforderlich ist.
Notiz: Hier sehen Sie, dass die Methode Math.round() das Double in eine Ganzzahl umwandelt, indem sie die Zahl auf die nächste Ganzzahl rundet.
Zum Beispiel - 10.6 wird umgewandelt in 11 mit Math.round() Methode und 1 werden konvertiert 10 mit Typecasting oder der Double.intValue()-Methode .