MyTetra Share
Делитесь знаниями!
BigDecimal
Время создания: 25.02.2020 09:04
Раздел: INFO - Development - JAVA - Простые объекты\
Запись: wwwlir/Tetra/master/base/1582592643c111fox9t4/text.html на raw.githubusercontent.com

Сравнение

Важно никогда не использовать для сравнения BigDecimal метод .equals(). Этого нельзя делать потому, что функция equals будет сравнивать масштабы. Если масштабы различаются, .equals() вернёт ложь, даже если они математически равны:

 

BigDecimal a = new BigDecimal("2.00");

BigDecimal b = new BigDecimal("2.0");

print(a.equals(b)); // ложь

 

Вместо этого следует использовать методы .compareTo() и .signum().

 

a.compareTo(b); // возвращает (-1 если a < b), (0 если a == b), (1 если a > b)

a.signum(); // возвращает (-1 если a < 0), (0 если a == 0), (1 если a > 0)


 
MyTetra Share v.0.59
Яндекс индекс цитирования