Método BigDecimal sqrt() en Java con ejemplos

java.math.BigDecimal .sqrt (MathContext mc) es una función incorporada agregada en Java SE 9 y JDK 9 que devuelve el valor BigDecimal de la raíz cuadrada de un BigDecimal en el que se aplica el método sqrt() con redondeo según la configuración del contexto.

Sintaxis:

public BigDecimal sqrt(MathContext mc)

Parámetros: este método acepta un parámetro mc de tipo MathContext para la configuración de contexto.

Valor devuelto: este método devuelve una aproximación a la raíz cuadrada de este con redondeo según la configuración del contexto.

Excepción: el método lanza ArithmeticException para las siguientes condiciones.

  • Si el número BigDecimal es menor que cero.
  • Si se solicita un resultado exacto (Precisión = 0) y no hay expansión decimal finita del resultado exacto.
  • Si el resultado exacto no cabe en los dígitos de precisión.

Nota: este método solo está disponible desde JDK 9 .

Los siguientes programas se utilizan para ilustrar el método sqrt() de BigDecimal:

Ejemplo 1:

// Java program to demonstrate sqrt() method
  
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Creating a BigDecimal object
        BigDecimal a, squareRoot;
  
        a = new BigDecimal("100000000000000000000");
  
        // Set precision to 10
        MathContext mc
            = new MathContext(10);
  
        // calculate square root of bigDecimal
        // using sqrt() method
        squareRoot = a.sqrt(mc);
  
        // print result
        System.out.println("Square root value of " + a
                           + " is " + squareRoot);
    }
}
Producción:

Square root value of 100000000000000000000 is 1.000000000E+10

Ejemplo 2: Muestra una excepción lanzada por el método sqrt().

// Java program to demonstrate sqrt() method
  
import java.math.*;
  
class GFG {
  
    public static void main(String[] args)
    {
  
        // Creating a BigDecimal object
        BigDecimal a, squareRoot;
  
        a = new BigDecimal("-4");
  
        // Set precision to 10
        MathContext mc
            = new MathContext(10);
  
        // calculate square root of bigDecimal
        // using sqrt() method
        try {
            squareRoot = a.sqrt(mc);
  
            // print result
            System.out.println("Square root"
                               + " value of " + a
                               + " is " + squareRoot);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Producción:

java.lang.ArithmeticException: Attempted square root of negative BigDecimal

Referencias: https://docs.oracle.com/javase/9/docs/api/java/math/BigDecimal.html#sqrt-java.math.MathContext-

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 *