BigDecimal abs() Method in Java

- 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() methodimportjava.io.*;importjava.math.*;ÂÂpublicclassGFG {   Âpublicstaticvoidmain(String[] args)   Â{       Â// Creating a BigDecimal object       ÂBigDecimal num;       Â// Assigning value to num       Ânum =newBigDecimal("-51");       Â// Displaying the result       ÂSystem.out.println("Absolute value is "+ num.abs());   Â}}Output:Absolute value is 51
Program 2
// Java program to demonstrate abs() methodimportjava.io.*;importjava.math.*;ÂÂpublicclassGFG {   Âpublicstaticvoidmain(String[] args)   Â{       Â// creating a BigDecimal object       ÂBigDecimal num;       Â// assign value to num       Ânum =newBigDecimal("-63.93471");       ÂSystem.out.println("Absolute value is "+ num.abs());   Â}}Output:Absolute value is 63.93471
- 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 1importjava.io.*;importjava.math.*;ÂÂpublicclassGFG {   Âpublicstaticvoidmain(String[] args)   Â{       Â// Create 2 BigDecimal objects       ÂBigDecimal num, absv;       ÂMathContext mc =newMathContext(2);       Â// Assign value to num       Ânum =newBigDecimal("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
importjava.io.*;importjava.math.*;ÂÂpublicclassGFG {   Âpublicstaticvoidmain(String[] args)   Â{       Â// Create 2 BigDecimal objects       ÂBigDecimal num, absv;       ÂMathContext mc =newMathContext(15);       Â// Assign value to num       Ânum =newBigDecimal("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
Reference: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#abs()


