Кожен об’єкт Класу BigDecimal
має метод, compareTo
який можна використовувати для порівняння його з іншим BigDecimal. Результат compareTo
порівнюється > 0
, == 0
або в < 0
залежності від того, що вам потрібно. Прочитайте документацію, і ви дізнаєтесь.
Оператори ==
, <
, >
і так далі можуть бути використані тільки на примітивних типів даних , таких як int
, long
, double
або їх класів обгортки , як Integer
і Double
.
З документації compareTo
:
Порівняє це BigDecimal
із зазначеним BigDecimal
.
BigDecimal
За цим методом два об'єкти, які мають однакову величину, але мають різну шкалу (наприклад, 2,0 та 2,00), вважаються рівними. Цей спосіб надається в перевазі індивідуальним методам для кожного з шести булевих операторів порівняння (<, ==,>,> =,! =, <=). Пропонована ідіома для проведення цих порівнянь:, (x.compareTo(y) <op> 0)
де <op>
один із шести операторів порівняння.
Повертає: -1, 0 або 1, оскільки цей BigDecimal чисельно менший, рівний або більший за val.
BigDecimal
як цеObject
, ні, це не працює. Але ви можете просто відняти один від одного і перевірити, чи є отримане значення<0
,==0
або>0
. В іншому випадку ви можете піти стандартним шляхом з наданими методами від BigDecimal