Как да сравните два BigDecimal в Java

Kak Da Sravnite Dva Bigdecimal V Java



BigDecimal ” клас в Java предоставя функции за аритметика, управление на мащаба, закръгляне, сравнение и т.н. В допълнение към това, той позволява на програмистите да се справят с големи и малки цели числа с плаваща запетая с изключителна точност. Това помага за постигане на по-голяма точност над фиксирания брой десетични знаци.

Тази статия ще разработи подробно подходите за сравняване на два „BigDecimals“ в Java.

Какво е „BigDecimal“ в Java?

A “ BigDecimal ” в Java включва 32-битова цяла скала и се използва за обработка на много големи и много малки числа с плаваща запетая. „ мащаб ” представлява броя на цифрите отдясно на десетичната запетая.







Как да сравним два BigDecimal в Java?

За да сравните два BigDecimal в Java, приложете следните подходи:



Преди да се насочите към подходите, не забравяйте да включите предоставения по-долу пакет за достъп до „ математика ” клас методи:



импортиране java.math.* ;

Подход 1: Сравнете две големи десетични числа в Java с помощта на метода „compareTo()“

сравни с() ' метод сравнява двете ' BigDecimals ” и връща резултата въз основа на следните параметри:





Върнат резултат Изчислено сравнение
1 Ако първият BigDecimal е по-голям от последния BigDecimal.
0 В случай, че първият BigDecimal е равен на последния BigDecimal.
-1 Когато първият BigDecimal е по-малък от последния BigDecimal.

Този метод може да се приложи за сравняване на двете създадени „ BigDecimal ” стойности и връща съответния резултат чрез „ ако/иначе ” изявление.

Синтаксис



публичен вътр сравни с ( Обект обект )

Според този синтаксис, „ Обект об ” съответства на обекта, който трябва да бъде сравнен.

Пример

Предоставеният по-долу пример обяснява обсъжданата концепция:

публичен клас comparebigdecimal {
публичен статичен невалиден основен ( низ аргументи [ ] ) {
BigDecimal val1, val2 ;
избор1 = нов BigDecimal ( '26326.04' ) ;
val2 = нов BigDecimal ( '22145.20' ) ;
ако ( избор1. сравни с ( val2 ) == 0 ) {
Система . навън . println ( избор1 + ' и ' + val2 + ' са равни' ) ;
}
друго ако ( избор1. сравни с ( val2 ) == - 1 ) {
Система . навън . println ( избор1 + ' е по-малко от ' + val2 ) ;
}
друго {
Система . навън . println ( избор1. сравни с ( val2 ) ) ;
Система . навън . println ( избор1 + 'е по-голямо от' + val2 ) ;
}

Съгласно горните редове код, приложете следните стъпки:

  • Първо създайте две „ BigDecimals ” с посочените стойности.
  • Сега асоциирайте „ сравни с() ' метод както с присвоените стойности, така и при удовлетвореното условие в ' ако ”, регистрирайте съответното съобщение.
  • Забележка: Условията са посочени въз основа на върнатия резултат от метода, за да може методът да работи правилно.
  • По същия начин „ иначе ако ” операторът указва другото условие, като се има предвид типа на връщания метод, т.е. -1 ”.
  • Накрая направете „ друго ” влиза в сила и при двете горепосочени неизпълнени условия.

Изход

В горния резултат върнатият „ 1 ” показва, че „ друго ” се извиква оператор.

Подход 2: Сравнете два BigDecimal в Java с помощта на метода „equals()“

равно на() 'метод на Java' BigDecimal ” се използва за сравняване на BigDecimals за равенство въз основа на стойност и мащаб. Този метод може да се приложи, за да се приложи проверка на BigDecimals, имащи вариация в своя мащаб.

Синтаксис

публичен булево равно на ( Обект х )

В този синтаксис „ Обект х ” съответства на обекта, с който този BigDecimal трябва да бъде сравнен.

Пример

Нека прегледаме следния пример:

публичен клас сравни bigdecimal2 {
публичен статичен невалиден основен ( низ аргументи [ ] ) {
BigDecimal val1, val2 ;
избор1 = нов BigDecimal ( '205,0' ) ;
val2 = нов BigDecimal ( '205.00' ) ;
ако ( избор1. равно на ( val2 ) ) {
Система . навън . println ( избор1 + ' и ' + val2 + ' са равни' ) ;
}
друго {
Система . навън . println ( избор1 + ' и ' + val2 + 'не са равни' ) ;
}
} }

Според горния код:

  • По същия начин създайте два BigDecimal с вариация в техния мащаб.
  • Забележка: 0 ” не е равно на „ 2.00 ” в сравнение с този метод.
  • След това приложете „ равно на() ' за сравняване на създадените BigDecimals и връщане на съответния резултат чрез ' ако/иначе ” изявление.

Изход

В този резултат може да се забележи, че както „ BigDecimals ” не са равни поради вариация в мащаба.

Следният резултат обаче води до изравняване на „BigDecimals“:

Ето как можете да сравните две ' BigDecimals ” в Java.

Заключение

A “ BigDecimal ” в Java включва 32-битова цяла скала. Двата BigDecimal в Java могат да бъдат сравнени чрез прилагане на „ сравни с() ', или ' равно на() ” методи. Първият подход връща резултата въз основа на изчисленото сравнение. Последният подход анализира стойностите на BigDecimal въз основа на посочените скали. Този блог е насочен към сравняване на двата „BigDecimals“ в Java.