Java rechnet falsch

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

130 ist vom Typ Integer.

Wenn man einen Integer durch einen Integer teilt, bekommt man auch nur einen Integer.

Du musst aus entweder 130 oder 48 ein float oder double machen.

Entweder mit einem expliziten cast (float)130
oder indem du ein f anhänst 130F

Du kannst auch durch das Benutzen von Punkten automatisch in doubles casten lassen.
130. Aber dann wird sich der Compiler wegen "Possible loss of precision" beschweren und du musst wieder casten, oder den Typ von value ändern.

Probier mal:

double value = 130.0/48;

Das Casting erfolg erst nach der Berechnung. Versuch mal

float value = 130.0/48.0; System.out.println(value);


worldprofile 
Beitragsersteller
 17.03.2013, 14:29

Vielen Dank :)

0
verreisterNutzer  17.03.2013, 14:35
@worldprofile

Hinweis: Es reicht schon, wen einer der beiden Operatoren in der Rechnung ein ".0" dahinter hat, es müssen nicht zwingend alle sein. Spart Tipparbeit ;)

0