Math.abs

Hai, ich will diese Runden-Funktion bei der abs klasse verwenden deswegen habe ich folgendes geschrieben
Java:
package übungsblatt4;

public class Aufgabe14b {
	
		public static void main (String []args){
	        double j = 0.0;
	        for(int i = 0; i<10;i++){
	            j =j + 0.1;
	           
	        }
	    System.out.println(j);
	    System.out.println((j==1.0));
	    System.out.println(Math.abs(j));


	}
		
}

Davon habe ich mir versprochen, dass j zuerst als "0.999999999", dann "flase" und dann als "1.0" ausgegeben wird,

wird aber nicht, sondern beides mal als 0.9999999, was muss ich machen, damits gerundet wird ?
 
Math.round rundet auf 0 Dezimalstellen. Deshalb rechnet man erst mal 100 (bzw. wenn es auf 3 Dezimalstellen sein soll mal 1000 etc.) und dann wieder durch 100.0 bzw. 1000.0 etc (100.0 muss so geschreiben werden, weil Math.round einen int liefert und 100 vom compiler auch als int interpretiert wird > int / int = int. alternativ kannst du auch 100. schreiben)

edit: bzw. bei einem double würde Math.round einen long liefern. Bei einem float wäre es dann der o.g. int. ändert aber nichts an der Aussage
 
Zuletzt bearbeitet:

Zurück
Oben