Werfen Sie einen Blick auf BigDecimal
Immutable, beliebiger Genauigkeit signed Dezimalzahlen
Und Ihre Frage zu beantworten - ja, Sie Kiste Datentypen können, aber sie können nicht primitiv sein Typen (wie int
, double
, usw.). Sie müssen Klassen sein, genau wie der Fall mit BigDecimal
(und BigInteger
)
Und ein weiterer Hinweis für die Verwendung der Big*
Klassen - wie geschrieben, sie sind unveränderlich. Dies bedeutet, dass der Aufruf von add(..)
das Objekt nicht ändert - es gibt ein neues Objekt zurück, das die Änderung widerspiegelt. I.e.
BigDecimal dec = BigDecimal.ZERO;
dec.add(new BigDecimal(5)); // nothing happens
dec = dec.add(new BigDecimal(5)); // this works
Ich würde empfehlen, lesen Sie über objektorientierte Programmierung. Sie können Klassen verwenden, um Ihre eigenen Datentypen zu definieren. – Jonathan
Eine benutzerdefinierte Java-Klasse ist auch ein Typ! Fügen Sie einfach einige Typen von Typen hinzu, die lang und lang sind, um ganze oder gebrochene Teile einer Zahl zu enthalten. Fügen Sie Methoden zum Hinzufügen/Subtrahieren hinzu und fertig! – Elister
@Andreas Hornig fühlen Sie sich frei, eine Antwort zu akzeptieren, die Ihre Frage beantwortet. – Bozho