Probleme beim Rechnen mit Integer und double

Nachtschatten

Aktives Mitglied
Hallo,
Ich habe da folgendes Problem. Wenn ich die beiden Integer i_ZahlA und i_ZahlB dividiere bekomme ich für den double d_ZahlC den Wert 3.0. Nur wenn ich aus i_ZahlA oder i_ZahlB einen doubel mache bekomme ich den korrekten Wert 3.75 zurück.
Kann mir einer bitte erklären warum das so ist und ob es noch weitere Abweichungen dieser Art beim Berechnen mit Variablen gibt.

Java:
	int i_ZahlA = 30;
	int i_ZahlB = 8;
	double  d _ZahlC; 
	double  d_ZahlA = 30;
	double  d_ZahlB = 8;

	d_ZahlC = i_ZahlA / i_ZahlB;	//	3,0
//	d_ZahlC = i_ZahlA / d_ZahlB;	//	3,75
//	d_ZahlC = d_ZahlA / i_ZahlB;	//	3,75
 
Kann ich das so verstehen das erst 30/8 gerechnet wird.
Dann von 3,75 die ,75 abgeschnitten wird da es sich um 2 Integer handelt.
Und erst dann wird die 3 in den double 3,0 umgewandelt.

Kann ich das irgendwie umgehen ohne das ich vorher einen der beiden Integer in einen double wandle ?
 
Nein, einen Operanden musst du casten:

Java:
d_ZahlC = ((double)i_ZahlA) / i_ZahlB;
 

Zurück
Oben