Open In App

BigDecimal sqrt() Method in Java with Examples

Last Updated : 11 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report
The java.math.BigDecimal.sqrt(MathContext mc) is an inbuilt function added in Java SE 9 & JDK 9 which returns BigDecimal value of square root of a BigDecimal on which sqrt() method is applied with rounding according to the context settings. Syntax:
public BigDecimal sqrt(MathContext mc)
Parameters: This method accepts a parameter mc of type MathContext for context settings. Return Value: This method returns an approximation to the square root of this with rounding according to the context settings. Exception: The method throws ArithmeticException for following conditions.
  • If BigDecimal number is less than zero.
  • If an exact result is requested (Precision = 0) and there is no finite decimal expansion of the exact result.
  • If the exact result cannot fit in Precision digits.
Note: This method is only available from JDK 9. Below programs are used to illustrate the sqrt() method of BigDecimal: Example 1: Java
// 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);
    }
}
Output:
Square root value of 100000000000000000000 is 1.000000000E+10
Example 2: Showing Exception thrown by sqrt() method. Java
// 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);
        }
    }
}
Output:
java.lang.ArithmeticException: Attempted square root of negative BigDecimal
References: https://docs.oracle.com/javase/9/docs/api/java/math/BigDecimal.html#sqrt-java.math.MathContext-

Practice Tags :

Similar Reads