Cómo comparar dos BigDecimals en Java

Como Comparar Dos Bigdecimals En Java



El ' BigDecimal La clase ” en Java proporciona aritmética, gestión de escala, redondeo, funcionalidades de comparación, etc. Además, permite a los programadores manejar enteros de punto flotante grandes y pequeños con una precisión excepcional. Esto ayuda a lograr una mayor precisión sobre el número fijo de decimales.

Este artículo profundizará en los enfoques para comparar dos 'BigDecimals' en Java.

¿Qué es 'BigDecimal' en Java?

A ' BigDecimal ” en Java comprende una escala de enteros de 32 bits y se utiliza para manejar números de punto flotante muy grandes y muy pequeños. El ' escala ” representa el número de dígitos a la derecha del punto decimal.







¿Cómo comparar dos BigDecimals en Java?

Para comparar dos BigDecimals en Java, aplique los siguientes enfoques:



Antes de dirigirse a los accesos, asegúrese de incluir el paquete que se proporciona a continuación para acceder al ' matemáticas ” métodos de clase:



importar java.matemáticas.* ;

Enfoque 1: Compare dos BigDecimals en Java utilizando el método 'compareTo ()'

El ' comparar con() El método ” compara los dos “ grandesdecimales ” y devuelve el resultado en función de los siguientes parámetros:





Resultado devuelto Comparación calculada
1 Si el BigDecimal anterior es mayor que el último BigDecimal.
0 En el caso de que el BigDecimal anterior sea igual al BigDecimal posterior.
-1 Cuando el BigDecimal anterior es menor que el BigDecimal posterior.

Este método se puede aplicar para comparar los dos creados “ BigDecimal ” valores y devolver el resultado correspondiente a través de la “ si / más ' declaración.

Sintaxis



público En t comparar con ( Objeto objeto )

Según esta sintaxis, “ Objeto objeto ” corresponde al objeto que necesita ser comparado.

Ejemplo

El ejemplo proporcionado a continuación explica el concepto discutido:

público clase compararbigdecimal {
  público estático vacío principal ( Cadena argumentos [ ] ) {
  BigDecimal valor1, valor2 ;
elección1 = nuevo BigDecimal ( '26326.04' ) ;
val2 = nuevo BigDecimal ( '22145.20' ) ;
  si ( elección1. comparar con ( val2 ) == 0 ) {
    Sistema . afuera . imprimir ( elección1 + ' y ' + val2 + ' son iguales' ) ;
}
  demás si ( elección1. comparar con ( val2 ) == - 1 ) {
    Sistema . afuera . imprimir ( elección1 + ' es menos que ' + val2 ) ;
}
  demás {
    Sistema . afuera . imprimir ( elección1. comparar con ( val2 ) ) ;
    Sistema . afuera . imprimir ( elección1 + ' es mayor que ' + val2 ) ;
}

De acuerdo con las líneas de código anteriores, aplique los siguientes pasos:

  • En primer lugar, crea dos “ grandesdecimales ” teniendo los valores indicados.
  • Ahora, asocie el “ comparar con() ” con los valores asignados y con la condición satisfecha en el “ si ”, registre el mensaje correspondiente.
  • Nota: Las condiciones se especifican en función del resultado devuelto por el método para que el método funcione correctamente.
  • Así mismo, el “ más si La instrucción ” especifica la otra condición considerando el tipo de devolución del método, es decir, “ -1 ”.
  • Finalmente, haga el “ demás ” entrará en vigor si no se cumplen las dos condiciones anteriores.

Producción

En el resultado anterior, el devuelto “ 1 ” indica que el “ demás Se invoca la declaración.

Enfoque 2: Compare dos BigDecimals en Java utilizando el método 'equals ()'

El ' es igual () 'método de Java' BigDecimal La clase ” se utiliza para comparar los BigDecimals para la igualdad en función del valor y la escala. Este método se puede implementar para aplicar un control sobre los BigDecimals que tienen una variación en su escala.

Sintaxis

público booleano es igual ( Objeto X )

En esta sintaxis, “ Objeto x ” corresponde al objeto con el que se debe comparar este BigDecimal.

Ejemplo

Repasemos el siguiente ejemplo:

público clase compararbigdecimal2 {
  público estático vacío principal ( Cadena argumentos [ ] ) {
  BigDecimal valor1, valor2 ;
elección1 = nuevo BigDecimal ( '205.0' ) ;
val2 = nuevo BigDecimal ( '205.00' ) ;
  si ( elección1. es igual ( val2 ) ) {
    Sistema . afuera . imprimir ( elección1 + ' y ' + val2 + ' son iguales' ) ;
}
  demás {
    Sistema . afuera . imprimir ( elección1 + ' y ' + val2 + 'no son iguales' ) ;
}
} }

Según el código anterior:

  • Del mismo modo, cree dos BigDecimals que tengan variación en su escala.
  • Nota: 0 ' no es igual a ' 2.00 ” en comparación con este método.
  • Después de eso, aplique el “ es igual () ” para comparar los BigDecimals creados y devolver el resultado correspondiente a través del “ si / más ' declaración.

Producción

En este resultado, se puede observar que tanto el “ grandesdecimales ” no son iguales debido a la variación en la escala.

Sin embargo, el siguiente resultado conduce a igualar los 'BigDecimals':

Así es como se pueden comparar dos” grandesdecimales ” en Java.

Conclusión

A ' BigDecimal ” en Java comprende una escala de enteros de 32 bits. Los dos BigDecimals en Java se pueden comparar aplicando el ' comparar con() ', o el ' es igual () ' métodos. El primer enfoque devuelve el resultado basado en la comparación calculada. El último enfoque analiza los valores BigDecimal en función de las escalas especificadas. Este blog está orientado a comparar los dos 'BigDecimals' en Java.