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

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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());
        }
    }

    chevron_right

    
    

    Output:

    Absolute value is 51
    

    Program 2

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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());
        }
    }

    chevron_right

    
    

    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

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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);
        }
    }

    chevron_right

    
    

    Output:

    Absolute value, rounded to 2 precision is 52
    

    Program 2

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    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);
        }
    }

    chevron_right

    
    

    Output:

    Absolute value, rounded to 15 precision is 143567812363.935
    

Reference: https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#abs()



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.