Saturday, September 6, 2025
HomeLanguagesJavaBigDecimal sqrt() Method in Java with Examples

BigDecimal sqrt() Method in Java with Examples

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 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 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-

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32269 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6638 POSTS0 COMMENTS
Nicole Veronica
11802 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11868 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7029 POSTS0 COMMENTS
Thapelo Manthata
6704 POSTS0 COMMENTS
Umr Jansen
6721 POSTS0 COMMENTS