Wie kann ich int in double umwandeln?
Wird einer double Variable ein int zugewiesen, erfolgt ein impliziter Cast nach double.
int i = 7; double x = i; System.out.println(x); // Ausgabe: 7.0
Ist bei mathematischen Operationen mindestens ein Operand vom Typ double, erfolgt die Berechnung mit dem Typ double:
int n = 4; System.out.println(1 / n); System.out.println(1.0 / n); double x = 1 / n; System.out.println(1 / 2 / 2.0); System.out.println(1 / 2.0 / 2);
In Zeile 2 sind beide Operanden vom Typ int. Die Division wird ganzzahlig ausgeführt. Das Ergebnis ist 0.
In Zeile 3 ist einer der Operanden (1.0) vom Typ double. Die Division wird mit double ausgeführt. Das Ergebnis ist 0.25.
Achtung: Der Datentyp auf der linken Seite hat keinen Einfluss auf die Datentypen bei der Berechnung des Ausdrucks auf der rechten Seite. In Zeile 4 bekommt x den Wert 0.0 zugewiesen.
Weiters ist darauf zu achten, dass die Ausdrücke von links nach rechts ausgewertet werden. In Zeile 5 wird zuerst die ganzzahlige Division 1 / 2 berechnet. Das Ergebnis dieser Division ist 0. Damit ergibt die Division durch 2.0 den Wert 0.0.
Anders verhält es sich in Zeile 6. Hier erfolgt die erste Division (1 / 2.0) mit double-Werten. Damit werden alle nachfolgenden Operationen mit double-Werten durchgeführt. Das Ergebnis ist 0.25.
Ein int kann freilich auch mit einem expliziten Cast in einen double umgewandelt werden:
int n = 4; System.out.println(1 / (double)n);
Wie wird aus einem int ein String?
Das geht mit der Methode valueOf() der Klasse String oder der Methode toString() der Klasse Integer:
int n = 4; String s1 = String.valueOf(n); String s2 = Integer.toString(n);
Eine einfache (wenngleich nicht besonders elegante) Lösung ist die Verkettung des int mit einem String:
int n = 4; String s = n + "";