Guayaba de Java | Método LongMath.divide(long, long, RoundingMode) con ejemplos

El método divide(p larga, q larga, modo RoundingMode) de la clase LongMath de Guava acepta tres parámetros y calcula el resultado de dividir el primer parámetro por el segundo parámetro, redondeado según el modo de redondeo especificado por el tercer parámetro.

Sintaxis:

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

Parámetros: el método toma 3 parámetros, donde p y q son largos y el modo es un modo de redondeo específico.

Valor devuelto: este método devuelve la división del primer parámetro por el segundo parámetro, redondeado según el modo de redondeo especificado por el tercer parámetro.

Excepciones: el método lanza ArithmeticException si:

  • q == 0, o
  • modo == INNECESARIO y p no es un múltiplo entero de q.

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 la implementación del método anterior:

Ejemplo 1 :

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

5
6

Ejemplo 2:

// Java code to show implementation of
// divide(long p, long q, RoundingMode mode)
// method of Guava's LongMath class
  
import java.math.RoundingMode;
import com.google.common.math.LongMath;
  
class GFG {
  
    static long findDiv(long dividend,
                        long divisor,
                        RoundingMode mode)
    {
        try {
            // Using divide(long p, long q,
            // RoundingMode mode)
            // method of Guava's LongMath class
            long quotient
                = LongMath.divide(dividend,
                                  divisor,
                                  RoundingMode.HALF_DOWN);
  
            // Return the answer
            return quotient;
        }
        catch (Exception e) {
            System.out.println(e);
            return -1;
        }
    }
  
    // Driver code
    public static void main(String args[])
    {
        long dividend = 32;
        long divisor = 0;
  
        try {
  
            // Function calling
            findDiv(dividend, divisor,
                    RoundingMode.HALF_EVEN);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Producción:

java.lang.ArithmeticException: / by zero

Referencia: https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/LongMath.html#divide-long-long-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 *