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); } }
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); } }
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); } } }
java.lang.ArithmeticException: Division impossible