El método java.math.BigDecimal.compareTo(BigDecimal bg) comprueba la igualdad de este objeto BigDecimal y BigDecimal bg pasado como parámetro. El método considera dos objetos BigDecimal iguales incluso si tienen el mismo valor independientemente de la escala.
Sintaxis:
public int compareTo(BigDecimal bg)
Parámetros: esta función acepta solo un objeto BigDecimal de tipo BigDecimal para compararlo con este objeto BigDecimal.
Valor de retorno: este método puede devolver los siguientes valores:
- 0 : si el valor de este BigDecimal es igual al del objeto BigDecimal pasado como parámetro.
- 1 : si el valor de este BigDecimal es mayor que el del objeto BigDecimal pasado como parámetro.
- -1 : si el valor de este BigDecimal es menor que el del objeto BigDecimal pasado como parámetro.
Nota: la función devuelve verdadero cuando compara 124,0 y 124,0000, ya que no compara la escala de los dos objetos BigDecimal.
Ejemplos:
Input : b1 = new BigDecimal("4743.0008"), b2 = new BigDecimal("4743.00001") b1.compareTo(b2) Output : 1 Input : b1 = new BigDecimal(4743), b2 = new BigDecimal("4743.00"); b1.compareTo(b2) Output : 0
Los siguientes programas ilustran el funcionamiento de la función compareTo() de la clase BigDecimal:
Programa 1: Para una condición mayor que:
// Java program to demonstrate compareTo() method import java.io.*; import java.math.*; public class GFG { public static void main(String[] args) { // Creating 2 BigDecimal objects BigDecimal b1, b2; b1 = new BigDecimal(67891); b2 = new BigDecimal(12346); if (b1.compareTo(b2) == 0) { System.out.println(b1 + " and " + b2 + " are equal."); } else if (b1.compareTo(b2) == 1) { System.out.println(b1 + " is greater than " + b2 + "."); } else { System.out.println(b1 + " is lesser than " + b2 + "."); } } }
67891 is greater than 12346.
Programa 2: Para igual condición:
// Java program to demonstrate compareTo() method import java.io.*; import java.math.*; public class GFG { public static void main(String[] args) { // Creating 2 BigDecimal objects BigDecimal b1, b2; b1 = new BigDecimal(67891); b2 = new BigDecimal("67891.000"); if (b1.compareTo(b2) == 0) { System.out.println(b1 + " and " + b2 + " are equal."); } else if (b1.compareTo(b2) == 1) { System.out.println(b1 + " is greater than " + b2 + "."); } else { System.out.println(b1 + " is lesser than " + b2 + "."); } } }
67891 and 67891.000 are equal.
Programa 3: Para condiciones inferiores a:
// Java program to demonstrate compareTo() method import java.io.*; import java.math.*; public class GFG { public static void main(String[] args) { // Creating 2 BigDecimal objects BigDecimal b1, b2; b1 = new BigDecimal("4743.00001"); b2 = new BigDecimal("4743.0008"); if (b1.compareTo(b2) == 0) { System.out.println(b1 + " and " + b2 + " are equal."); } else if (b1.compareTo(b2) == 1) { System.out.println(b1 + " is greater than " + b2 + "."); } else { System.out.println(b1 + " is lesser than " + b2 + "."); } } }
4743.00001 is lesser than 4743.0008.
Referencia: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#compareTo(java.math.BigDecimal)
Publicación traducida automáticamente
Artículo escrito por RICHIK BHATTACHARJEE y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA