Ralf: Wie vermeide zu viele Nachkommastellen (1.9000000000000001)

Beitrag lesen

Hi,

in einem java Programm berechne ich eine Variable vom Type double. Wenn ich dann z.B. auf einem Label ausgebe:

  
mylabel.setText(String.valueOf(myDouble));  

erhalte ich manchmal Ausgaben wie z.B.: 1.9000000000000001.
Ich vermute, das hängt im der internen Darstellung (dualsystem) der doubles zusammen.

auch folgendes funktioniert nicht:

  
double minRes = 0.001;  
myDouble = (Math.round(myDouble / minRes )) * minRes ;  
mylabel.setText(String.valueOf(myDouble));  

Wichtig ist, dass die Anzahl der gewünschten Nachkommstellen (minRes) variabel ist.

Wie könnte ich das Problem lösen?

MfG Ralf