GEDOPLAN
Java SE

Is 1.0 equals 1.00?

Java SE

If you use BigDecimal for floating point numbers, you may want to compare them by equals. But beware: BigDecimal.equals takes value and scale into acount, when comparing two BigDecimal values:

BigDecimal one_0 = new BigDecimal(„1.0“);

BigDecimal one_00 = new BigDecimal(„1.00“);

one_0.equals(one_00) // false!

For comparing BigDecimal values regardless of their scale you can use compareTo:

one_0.compareTo(one_00) == 0 // true

The same applies to JUnit test assertions for BigDecimal values: Using  org.junit.Assert.assertEquals or org.hamcrest.Matcher.is take the scale of BigDecimal values into account. Use org.hamcrest.number.OrderingComparison.comparesEqualTo instead for comparing the values only.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

IT-Training - GEDOPLAN
Webprogrammierung

Angular Directive, Hostbinding

Directive sind neben Komponenten eines der zentralen Konzepte in Angular. Anders als Components bringt eine Directive kein eigenes Template mit,…
puzzle 1261138 640
Webprogrammierung

Angular Change Detection Strategy

Angular nimmt uns viele Dinge ab, z.B. uns um die Aktualisierung der Oberfläche zu kümmern. Dabei verrichtet die Bibliothek Höchstleistungen.…
IT-Training - GEDOPLAN
Webprogrammierung

Angular, testen mit Karma/Jasmine

Anwendungen zu testen ist ein leidiges Thema und wird gerne aus Zeitgründen vernachlässigt. Jeder der schon mal ein größeres Refactoring…

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!