Método BigDecimal divideToIntegralValue() en Java con ejemplos

El java.math.BigDecimal .divideToIntegralValue(BigDecimal divisor) se usa para calcular la parte entera del cociente de dos BigDecimals (este / divisor) que se redondea hacia abajo. La escala preferida del resultado es (this. scale() – divisor. scale() ). Este método realiza una operación sobre el BigDecimal actual mediante el cual se llama a este método y se pasa el BigDecimal como parámetro. Hay dos sobrecargas del método divideToIntegralValue disponibles en Java que se enumeran a continuación:

  • divideToIntegralValue(divisor decimal grande)
  • divideToIntegralValue(Divisor BigDecimal, MathContext mc)

divideToIntegralValue(divisor decimal grande)

Sintaxis:

public BigDecimal divideToIntegralValue(BigDecimal divisor)

Parámetros: este método acepta un parámetro divisor por el cual se dividirá este BigDecimal. Valor devuelto: este método devuelve un BigDecimal que contiene la parte entera del resultado (this / divisor) . Excepción: el divisor del parámetro no debe ser 0 ; de lo contrario , se lanza una excepción aritmética . Los siguientes programas se utilizan para ilustrar el método divideToIntegralValue() de BigDecimal. 

Java

// Java program to demonstrate
// divideToIntegralValue() method of BigDecimal
 
import java.math.BigDecimal;
 
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store the result
        BigDecimal res;
 
        // For user input
        // Use Scanner or BufferedReader
 
        // Two objects of String created
        // Holds the values
        String input1
            = "31452678569";
        String input2
            = "2468";
 
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
        BigDecimal divisor
            = new BigDecimal(input2);
 
        // Using divideToIntegralValue() method
        res = a.divideToIntegralValue(divisor);
 
        // Display the result in BigDecimal
        System.out.println(res);
    }
}
Producción:

12744197

divideToIntegralValue(Divisor BigDecimal, MathContext mc)

Dado que la parte entera del cociente exacto no depende del modo de redondeo, el modo de redondeo no afecta los valores devueltos por este método. La escala preferida del resultado es (this. scale() – divisor. scale() ). Sintaxis:

public BigDecimal divideToIntegralValue(BigDecimal divisor,
                                        MathContext mc)

Parámetros: este método acepta un parámetro divisor por el cual se dividirá este BigDecimal y un parámetro mc de tipo MathContext para la configuración de contexto. Valor devuelto: este método devuelve un BigDecimal que contiene la parte entera del resultado (this / divisor) . Excepción: el método arroja una excepción aritmética para las siguientes condiciones:

  • El parámetro divisor no debe ser 0 .
  • Si mc.precision > 0 y el resultado requiere una precisión de más de mc.precision dígitos.

Los siguientes programas se utilizan para ilustrar el método divideToIntegralValue() de BigDecimal. Ejemplo 1: 

Java

// Java program to demonstrate
// divideToIntegralValue() method of BigDecimal
 
import java.math.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store the result
        BigDecimal res;
 
        // For user input
        // Use Scanner or BufferedReader
 
        // Two objects of String created
        // Holds the values
        String input1
            = "24536482";
        String input2
            = "2";
 
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
        BigDecimal divisor
            = new BigDecimal(input2);
 
        // Set precision to 10
        MathContext mc
            = new MathContext(10);
 
        // Using divideToIntegralValue() method
        res = a.divideToIntegralValue(divisor, mc);
 
        // Display the result in BigDecimal
        System.out.println(res);
    }
}
Producción:

12268241

Ejemplo 2: programa que ilustra la excepción que ocurrió en el método divideToIntegralValue() 

Java

// Java program to demonstrate
// divideToIntegralValue() method of BigDecimal
 
import java.math.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store the result
        BigDecimal res;
 
        // For user input
        // Use Scanner or BufferedReader
 
        // Two objects of String created
        // Holds the values
        String input1
            = "24536482";
        String input2
            = "2";
 
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
        BigDecimal divisor
            = new BigDecimal(input2);
 
        // Set precision to 5
        MathContext mc
            = new MathContext(5);
 
        // As the result requires
        // a precision of more than
        // mc.precision digits
        // So Exception occur
        try {
 
            // Using divideToIntegralValue() method
            res = a.divideToIntegralValue(divisor, mc);
 
            // Display the result in BigDecimal
            System.out.println(res);
        }
        catch (ArithmeticException e) {
            System.out.println(e);
        }
    }
}
Producción:

java.lang.ArithmeticException: Division impossible

Referencias: https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/math/BigDecimal.html#divideToIntegralValue(java.math.BigDecimal)

Publicación traducida automáticamente

Artículo escrito por Rajnis09 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 *