BigDecimal double float

double float

Die Datentypen double und float sind primitive Typen. Der Unterschied zu Klassen und Wrappen liegt for allem in der besseren Performance, da bei diesen kein Objekt mit new erzeugt werden muss.

Für die Anwendungsentwicklung sind diese Datentypen jedoch ungeeignet, da Sie Dezimalzahlen nicht exakt speichern können.

double d = 1234.56; BigDecimal number = new BigDecimal(d); System.out.println(number.toString());
Ergebnis: 1234.55999999999994543031789362430572509765625

BigDecimal

Im Gegensatz zu double und float kann die Klasse BigDecimal Dezimalzahlen mit beliebigen Nachkommastellen exakt speichern und bietet darüberhinaus Funktionen zur genauen Berechnung. Für Dezimalzahlen wie Preise oder Prozentsätze wird deshalb hauptsächlich BigDecimal eingesetzt.

Man sollte aber darauf achten BigDecimal richtig zu initialsieren, nämlich über den String Konstruktor, damit die Zahl mit exakten Nachkommastellen gespeichert wird.

BigDecimal number = new BigDecimal("1234.56"); System.out.println(number.toString());
Ergebnis: 1234.56

Johannes Hammoud BigDecimal double float 22.10.2007

I Coding : Community über Java Programmierung

Sprache Englisch+-

Java JSF JavaScript HTML CSS NetBeans GlassFish MySQL

Impressum

Besuche
6307239
Heute
401