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 objectBigDecimal num;// Assigning value to numnum =newBigDecimal("-51");// Displaying the resultSystem.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 objectBigDecimal num;// assign value to numnum =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 objectsBigDecimal num, absv;MathContext mc =newMathContext(2);// Assign value to numnum =newBigDecimal("51.93471");// Assign absolute value of num to absv rounded// to 2 precision using mcabsv = 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 objectsBigDecimal num, absv;MathContext mc =newMathContext(15);// Assign value to numnum =newBigDecimal("143567812363.93471");// Assign absolute value of num to absv rounded// to 15 precision using mcabsv = 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()



