# BigDecimal abs() Method in Java

1. The java.math.BigDecimal.abs() is used to return a BigDecimal whose value is the absolute value of the BigDecimal and whose scale is this.scale().

Syntax :

`public BigDecimal abs()`

Parameters: The method does not accept any parameters.

Return Value: Returns a BigDecimal whose value is the absolute value of this BigDecimal scale is this.scale().

Below programs will illustrate the use of java.math.BigDecimal.abs() method :
Program 1

 `// Java program to demonstrate abs() method ` `import` `java.io.*; ` `import` `java.math.*; ` ` `  `public` `class` `GFG { ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// Creating a BigDecimal object ` `        ``BigDecimal num; ` ` `  `        ``// Assigning value to num ` `        ``num = ``new` `BigDecimal(``"-51"``); ` ` `  `        ``// Displaying the result ` `        ``System.out.println(``"Absolute value is "` `+ num.abs()); ` `    ``} ` `} `

Output:

```Absolute value is 51
```

Program 2

 `// Java program to demonstrate abs() method ` `import` `java.io.*; ` `import` `java.math.*; ` ` `  `public` `class` `GFG { ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// creating a BigDecimal object ` `        ``BigDecimal num; ` ` `  `        ``// assign value to num ` `        ``num = ``new` `BigDecimal(``"-63.93471"``); ` ` `  `        ``System.out.println(``"Absolute value is "` `+ num.abs()); ` `    ``} ` `} `

Output:

```Absolute value is 63.93471
```
2. The java.math.BigDecimal.abs(MathContext mc) returns a BigDecimal whose value is the absolute value of the BigDecimal obtained by rounding it off according to the precision settings specified by mc, an object of MathContext class.

Syntax:

`public BigDecimal abs(MathContext mc)`

Parameters : The function accepts only one parameter mc of MathContext class object, which specifies precision settings to be used for rounding off the BigDecimal.

Return Value: Returns a BigDecimal whose value is the absolute value of this BigDecimal obtained by rounding it off according to the precision settings specified by the object mc.

Exception : The method throws an ArithmeticException, if the result is inexact but the rounding mode is UNNECESSARY.

Below programs illustrate the use of java.math.BigDecimal.abs() method with specified MathContext :
Program 1

 `import` `java.io.*; ` `import` `java.math.*; ` ` `  `public` `class` `GFG { ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// Create 2 BigDecimal objects ` `        ``BigDecimal num, absv; ` ` `  `        ``MathContext mc = ``new` `MathContext(``2``); ` ` `  `        ``// Assign value to num ` `        ``num = ``new` `BigDecimal(``"51.93471"``); ` ` `  `        ``// Assign absolute value of num to absv rounded  ` `        ``// to 2 precision using mc ` `        ``absv = num.abs(mc); ` ` `  `        ``System.out.println(``"Absolute value, rounded to 2 precision is "` `        ``+ absv); ` `    ``} ` `} `

Output:

```Absolute value, rounded to 2 precision is 52
```

Program 2

 `import` `java.io.*; ` `import` `java.math.*; ` ` `  `public` `class` `GFG { ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// Create 2 BigDecimal objects ` `        ``BigDecimal num, absv; ` ` `  `        ``MathContext mc = ``new` `MathContext(``15``); ` ` `  `        ``// Assign value to num ` `        ``num = ``new` `BigDecimal(``"143567812363.93471"``); ` ` `  `        ``// Assign absolute value of num to absv rounded  ` `        ``// to 15 precision using mc ` `        ``absv = num.abs(mc); ` ` `  `        ``System.out.println(``"Absolute value, rounded to 15 precision is "`  `        ``+ absv); ` `    ``} ` `} `

Output:

```Absolute value, rounded to 15 precision is 143567812363.935
```

Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.