K kroschel Mitglied 18. April 2008 #1 Mit anderen Werten klappts? Oder ist es nur bei mir so? (Java 1.6) Java: public class Test{ public static void main(String args[]) { double a = 0.89; double b = 2.00; double c = 0.20; System.out.println(a+b+c); } } Zuletzt bearbeitet: 18. April 2008
Mit anderen Werten klappts? Oder ist es nur bei mir so? (Java 1.6) Java: public class Test{ public static void main(String args[]) { double a = 0.89; double b = 2.00; double c = 0.20; System.out.println(a+b+c); } }
Klein0r Erfahrenes Mitglied 18. April 2008 #2 Warum zur Hölle kommt da 3.0900000000000003 raus? Ist bei mir genauso - habs aber auch nur mit dem 1.6 getestet
Warum zur Hölle kommt da 3.0900000000000003 raus? Ist bei mir genauso - habs aber auch nur mit dem 1.6 getestet
fjfvo Grünschnabel 19. April 2008 #3 Ein double hat 'nur' 64 Bits! (http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#96802) SUN sagt: This data type should never be used for precise values, such as currency. (http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html) In solche Fälle stattdessen BigDecimal Klasse benutzen. (http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html)
Ein double hat 'nur' 64 Bits! (http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#96802) SUN sagt: This data type should never be used for precise values, such as currency. (http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html) In solche Fälle stattdessen BigDecimal Klasse benutzen. (http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html)