Como comparar dois BigDecimals em Java

Como Comparar Dois Bigdecimals Em Java



O ' BigDecimal ” A classe em Java fornece aritmética, gerenciamento de escala, arredondamento, funcionalidades de comparação, etc. Além disso, permite que os programadores lidem com números inteiros de ponto flutuante grandes e pequenos com precisão excepcional. Isso ajuda a obter mais precisão sobre o número fixo de decimais.

Este artigo irá detalhar as abordagens para comparar dois “BigDecimals” em Java.

O que é “BigDecimal” em Java?

A ' BigDecimal ” em Java compreende uma escala inteira de 32 bits e é utilizada para lidar com números de ponto flutuante muito grandes e muito pequenos. O ' escala ” representa o número de dígitos à direita do ponto decimal.







Como comparar dois BigDecimals em Java?

Para comparar dois BigDecimals em Java, aplique as seguintes abordagens:



Antes de ir para as abordagens, certifique-se de incluir o pacote fornecido abaixo para acessar o “ matemática ” métodos de classe:



importar java.math.* ;

Abordagem 1: Compare Dois BigDecimals em Java Usando o Método “compareTo()”

O ' compareTo() ” método compara os dois “ BigDecimals ” e retorna o resultado com base nos seguintes parâmetros:





Resultado devolvido Comparação computada
1 Se o antigo BigDecimal for maior que o último BigDecimal.
0 No caso do primeiro BigDecimal ser igual ao último BigDecimal.
-1 Quando o antigo BigDecimal é menor que o último BigDecimal.

Este método pode ser aplicado para comparar os dois “ BigDecimal ” valores e retornar o resultado correspondente por meio do “ se/senão ' declaração.

Sintaxe



público int compareTo ( Objeto obj )

De acordo com esta sintaxe, “ Object obj ” corresponde ao objeto que precisa ser comparado.

Exemplo

O exemplo fornecido abaixo explica o conceito discutido:

público aula comparar grandedecimal {
público estático vazio principal ( Corda argumentos [ ] ) {
BigDecimal val1, val2 ;
escolha1 = novo BigDecimal ( '26326.04' ) ;
val2 = novo BigDecimal ( '22145.20' ) ;
se ( escolha1. compareTo ( val2 ) == 0 ) {
Sistema . fora . println ( escolha1 + ' e ' + val2 + ' são iguais' ) ;
}
outro se ( escolha1. compareTo ( val2 ) == - 1 ) {
Sistema . fora . println ( escolha1 + ' é menos do que ' + val2 ) ;
}
outro {
Sistema . fora . println ( escolha1. compareTo ( val2 ) ) ;
Sistema . fora . println ( escolha1 + ' é melhor que ' + val2 ) ;
}

De acordo com as linhas de código acima, aplique as seguintes etapas:

  • Primeiro de tudo, crie dois “ BigDecimals ” tendo os valores declarados.
  • Agora, associe o “ compareTo() ” com os valores atribuídos e com a condição satisfeita no método “ se ”, registre a mensagem correspondente.
  • Observação: As condições são especificadas com base no resultado retornado do método para que o método funcione corretamente.
  • Da mesma forma, o “ senão se ” especifica a outra condição considerando o tipo de retorno do método, ou seja, “ -1 ”.
  • Por fim, faça o “ outro ” declaração entrará em vigor em ambas as condições não satisfeitas acima.

Saída

No resultado acima, o retornado “ 1 ” indica que o “ outro ” é invocada.

Abordagem 2: comparar dois BigDecimals em Java usando o método “equals ()”

O ' é igual a() ” método do Java “ BigDecimal ” é utilizada para comparar os BigDecimals para igualdade com base no valor e na escala. Este método pode ser implementado para aplicar uma verificação nos BigDecimals tendo uma variação em sua escala.

Sintaxe

público boleano é igual a ( Objeto x )

Nesta sintaxe, “ objeto x ” corresponde ao objeto com o qual este BigDecimal precisa ser comparado.

Exemplo

Vamos analisar o seguinte exemplo:

público aula comparargrandedecimal2 {
público estático vazio principal ( Corda argumentos [ ] ) {
BigDecimal val1, val2 ;
escolha1 = novo BigDecimal ( '205,0' ) ;
val2 = novo BigDecimal ( '205,00' ) ;
se ( escolha1. é igual a ( val2 ) ) {
Sistema . fora . println ( escolha1 + ' e ' + val2 + ' são iguais' ) ;
}
outro {
Sistema . fora . println ( escolha1 + ' e ' + val2 + 'não são iguais' ) ;
}
} }

De acordo com o código acima:

  • Da mesma forma, crie dois BigDecimals com variação em sua escala.
  • Observação: 0 ” não é igual a “ 2,00 ” quando comparado a este método.
  • Depois disso, aplique o “ é igual a() ” para comparar os BigDecimals criados e retornar o resultado correspondente por meio do método “ se/senão ' declaração.

Saída

Neste resultado, pode-se observar que tanto o “ BigDecimals ” não são iguais devido à variação na escala.

No entanto, o seguinte resultado leva a igualar os “BigDecimals”:

É assim que você pode comparar dois “ BigDecimals ” em Java.

Conclusão

A ' BigDecimal ” em Java compreende uma escala inteira de 32 bits. Os dois BigDecimals em Java podem ser comparados aplicando o método “ compareTo() ', ou o ' é igual a() ' métodos. A primeira abordagem retorna a saída com base na comparação calculada. A última abordagem analisa os valores BigDecimal com base nas escalas especificadas. Este blog é guiado para comparar os dois “BigDecimals” em Java.