Eigentlich habe ich mögliche LösungWarum BigDecimal ("5.50") nicht gleich BigDecimal ("5.5") ist und wie Sie dieses Problem umgehen können?
//returns true
new BigDecimal ("5.50").doubleValue() == new BigDecimal("5.5").doubleValue()
Natürlich gefunden, kann es mit so etwas wie Math.abs (v1 - v2) < EPS
verbessert wird der Vergleich robuster zu machen, aber die Frage ist, ob diese Technik akzeptabel oder gibt es eine bessere Lösung?
Wenn jemand weiß, warum sich Java-Entwickler dafür entschieden, BigDecimal auf diese Weise zu implementieren, wäre es interessant zu lesen.
Wenn Ihre BigDecimal Objekte garantiert werden durch Doppel immer darstellbare sein, dann sollten Sie nicht sowieso mit BigDecimal sein. Wenn dies nicht der Fall ist, wird diese Methode fehlschlagen. – DJClayworth
Schlechte Lösung. Wenn Doppelpunkte für Ihr Programm geeignet sind, verwenden Sie Doppel. Wenn BigDecimals geeignet sind, verwenden Sie BigDecimals. Es ist fast nie sinnvoll, hin und her zu konvertieren. – Jay
@DJClayworth: Wo siehst du "editierte" Label? – Roman