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

Autor: Johannes HammoudKommentare Datum: 22.10.2007

Sprache Englisch

Java JSF XHTML WML JavaScript GlassFish MySQL NetBeans

Impressum

Besuche
619857
Heute
19