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 grandes e pequenos de ponto flutuante com precisão excepcional. Isso ajuda a alcançar mais precisão sobre o número fixo de decimais.

Este artigo será elaborado sobre as abordagens para comparar dois "BigDecimals" em Java.

O que é "BigDecimal" em Java?

A "BigDecimal”Em Java, compreende uma escala inteiro de 32 bits e é utilizado 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:

  • ““comparado a()”Método.
  • ““é igual a()”Método.

Antes de ir para as abordagens, inclua o pacote abrangente para acessar o “matemática”Métodos de classe:

importar java.matemática.*;

Abordagem 1: Compare dois BigDecimals em Java usando o método "compareto ()"

O "comparado a()”Método compara os dois“BigDecimals”E retorna o resultado com base nos seguintes parâmetros:

Resultado retornou Comparação calculada
1 Se o ex -BigDecimal for maior que o último BigDecimal.
0 No caso de o ex -BigDecimal ser igual ao último BigDecimal.
-1 Quando o ex -BigDecimal é menor que o último BigDecimal.

Este método pode ser aplicado para comparar os dois criados “BigDecimal”Valores e retornar o resultado correspondente através do“se/else" declaração.

Sintaxe

Public int compareto (objeto obj)

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

Exemplo

O exemplo fornecido abaixo explica o conceito discutido:

classe pública CompareBigDecimal
public static void main (string args [])
BigDecimal Val1, Val2;
val1 = novo bigdecimal ("26326.04 ");
val2 = novo bigdecimal ("22145.20 ");
if (Val1.compareto (val2) == 0)
Sistema.fora.println (val1 + "e" + val2 + "são iguais");

caso contrário, se (Val1.compareto (val2) == -1)
Sistema.fora.println (val1 + "é menor que" + val2);

outro
Sistema.fora.println (Val1.compareto (val2));
Sistema.fora.println (val1 + "é maior 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 “comparado a()”Método com os valores atribuídos e sobre a condição satisfeita no“se”Declaração, registre a mensagem correspondente.
  • Observação: As condições são especificadas com base no resultado retornado do método para fazer o método funcionar corretamente.
  • Da mesma forma, o “caso contrário, se”.e., ““-1”.
  • Finalmente, faça o “outro”A declaração entra em vigor nas duas condições acima indiferentes.

Saída

No resultado acima, o retorno “1”Indica que o“outro”A declaração é invocada.

Abordagem 2: Compare dois BigDecimals em Java usando o método "Equals ()"

O "é igual a()”Método do Java“BigDecimal”A classe é utilizada para comparar os BigDecimals para a igualdade com base em valor e escala. Este método pode ser implementado para aplicar um cheque sobre os BigDecimals tendo uma variação em sua escala.

Sintaxe

Public boolean é igual (objeto x)

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

Exemplo

Vamos ver o exemplo a seguir:

classe pública CompareBigDecimal2
public static void main (string args [])
BigDecimal Val1, Val2;
val1 = novo bigdecimal ("205.0 ");
val2 = novo bigdecimal ("205.00 ");
if (Val1.igual (val2))
Sistema.fora.println (val1 + "e" + val2 + "são iguais");

outro
Sistema.fora.println (val1 + "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()”Método para comparar os BigDecimals criados e retornar o resultado correspondente através do“se/else" declaração.

Saída

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

No entanto, o resultado a seguir leva a tornar os “BigDecimals” iguais:

É 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 “comparado a()", ou o "é igual a()" métodos. A abordagem anterior retorna a saída com base na comparação calculada. A última abordagem analisa os valores BigDecimal com base nas escalas especificadas. Este blog é orientado a comparar os dois "BigDecimals" em Java.