// Java schneidet Nachommastellen beim Cast ab. System.out.println("Casting von Zahlen"); int a = (int)1.999; int b = (int)-1.9999; System.out.println(a); System.out.println(b); // Durch addieren von 1/2 wird richtig gerundet System.out.println("Runden selbstgemacht"); a = (int)(1.4+0.5); b = (int)(1.5+0.5); System.out.println(a); System.out.println(b); // Runden über Funktionen der Klasse Math System.out.println("Runden mit java.lang.Math()"); double val = -2.25d; System.out.println("Zahl\tround\trint\tceil\tfloor\tCast"); while (val < 2.5d) { System.out.print(val); System.out.print("\t" + Math.round(val)); System.out.print("\t" + Math.rint(val)); System.out.print("\t" + Math.ceil(val)); System.out.print("\t" + Math.floor(val)); System.out.println("\t" + (int)val); val += 0.25d; } // Runden von Geldbeträgen auf 2 Stellen hinter dem Komma System.out.println("Runden mit java.math.BigDecimal()"); BigDecimal amount = new BigDecimal(5.4574324d); amount = amount.setScale(2, BigDecimal.ROUND_HALF_UP); System.out.println(amount);