función BigIntegerMath dividir() | guayaba | Java

El método divide(BigInteger p, BigInteger q, modo RoundingMode) de la clase BigIntegerMath de Guava devuelve el resultado de dividir p por q, redondeando usando el RoundingMode especificado.

Sintaxis:

public static BigInteger divide(BigInteger p,
                                BigInteger q,
                                RoundingMode mode)

Parámetros: Este método toma los siguientes parámetros:

  • p : El dividendo BigInteger
  • q : El divisor BigInteger
  • modo : El modo de redondeo para calcular la división de p y q.

Valor devuelto: este método devuelve el resultado de dividir p por q, redondeando usando el modo de redondeo especificado.

Excepciones: el método lanza ArithmeticException si q == 0, o si modo == INNECESARIO y a no es un múltiplo entero de b.

Modo de redondeo de enumeración

Constante de enumeración Descripción
TECHO Modo de redondeo para redondear hacia el infinito positivo.
ABAJO Modo de redondeo para redondear hacia cero.
PISO Modo de redondeo para redondear hacia el infinito negativo.
HALF_DOWN Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia abajo.
HALF_EVEN Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso, redondear hacia el vecino par.
HALF_UP Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia arriba.
INNECESARIO Modo de redondeo para afirmar que la operación solicitada tiene un resultado exacto, por lo que no es necesario redondear.
ARRIBA Modo de redondeo para redondear desde cero.

Los siguientes ejemplos ilustran el método BigIntegerMath.divide():

Ejemplo 1:

// Java code to show implementation of
// divide(BigInteger p, BigInteger q, RoundingMode mode)
// method of Guava's BigIntegerMath class
  
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
        BigInteger dividend1 = BigInteger.valueOf(55);
        BigInteger divisor1 = BigInteger.valueOf(10);
  
        // Using divide()
        // method of Guava's BigIntegerMath class
        BigInteger
            quotient1
            = BigIntegerMath
                  .divide(dividend1,
                          divisor1,
                          RoundingMode.HALF_DOWN);
  
        System.out.println(dividend1 + " divided by "
                           + divisor1
                           + " with HALF_DOWN rounding mode: "
                           + quotient1);
  
        BigInteger dividend2 = BigInteger.valueOf(55);
        BigInteger divisor2 = BigInteger.valueOf(10);
  
        // Using divide()
        // method of Guava's BigIntegerMath class
        BigInteger
            quotient2
            = BigIntegerMath
                  .divide(dividend2,
                          divisor2,
                          RoundingMode.CEILING);
  
        System.out.println(dividend2 + " divided by "
                           + divisor2
                           + " with CEILING rounding mode: "
                           + quotient2);
    }
}
Producción:

55 divided by 10 with HALF_DOWN rounding mode: 5
55 divided by 10 with CEILING rounding mode: 6

Ejemplo 2:

// Java code to show implementation of
// divide(BigInteger p, BigInteger q, RoundingMode mode)
// method of Guava's BigIntegerMath class
  
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        try {
  
            BigInteger dividend1 = BigInteger.valueOf(25);
            BigInteger divisor1 = BigInteger.valueOf(0);
  
            // Using divide()
            // method of Guava's BigIntegerMath class
            // This should raise "ArithmeticException"
            // as divisor1 = 0
            BigInteger
                quotient1
                = BigIntegerMath
                      .divide(dividend1,
                              divisor1,
                              RoundingMode.HALF_DOWN);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}
Producción:

Exception: java.lang.ArithmeticException: / by zero

Referencia: https://google.github.io/guava/releases/21.0/api/docs/com/google/common/math/BigIntegerMath.html#divide-java.math.BigInteger-java.math.BigInteger-java. Math.RoundingMode-

Publicación traducida automáticamente

Artículo escrito por Sahil_Bansall y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *