📜  Java中的 BigDecimal abs() 方法

📅  最后修改于: 2022-05-13 01:54:46.032000             🧑  作者: Mango

Java中的 BigDecimal abs() 方法

  1. Java.math.BigDecimal.abs()用于返回 BigDecimal,其值为 BigDecimal 的绝对值,其标度为 this.scale()。

    句法 :

    public BigDecimal abs()

    参数:该方法不接受任何参数。

    返回值:返回一个BigDecimal,它的值是这个BigDecimal的绝对值 scale is this.scale()。

    下面的程序将说明Java.math.BigDecimal.abs() 方法的使用:
    程序 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());
        }
    }
    
    输出:
    Absolute value is 51
    

    节目二

    // 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());
        }
    }
    
    输出:
    Absolute value is 63.93471
    
  2. Java.math.BigDecimal.abs(MathContext mc)返回一个 BigDecimal,其值是根据MathContext类对象mc指定的精度设置四舍五入得到的 BigDecimal 的绝对值。

    句法:

    public BigDecimal abs(MathContext mc)

    参数:该函数仅接受 MathContext 类对象的一个参数mc ,该参数指定用于四舍五入 BigDecimal 的精度设置。

    返回值:返回一个 BigDecimal,其值是根据对象mc指定的精度设置四舍五入获得的此 BigDecimal 的绝对值。

    异常:如果结果不准确但舍入模式为 UNNECESSARY,则该方法抛出ArithmeticException

    下面的程序说明了Java.math.BigDecimal.abs() 方法与指定的 MathContext 的使用:
    程序 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);
        }
    }
    
    输出:
    Absolute value, rounded to 2 precision is 52
    

    节目二

    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);
        }
    }
    
    输出:
    Absolute value, rounded to 15 precision is 143567812363.935
    

参考: https: Java/math/BigDecimal.html#abs()