BigDecimal sqrt() Method in Java with Examples

• Last Updated : 29 May, 2019

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

My Personal Notes arrow_drop_up
Recommended Articles
Page :