# BigDecimal abs() Method in Java

Last Updated : 04 Dec, 2018
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
```

Previous
Next