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
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