Java BigDecimal abs()方法

Java BigDecimal abs()方法

  1. 使用java.math.BigDecimal.abs()来返回一个BigDecimal,其值是BigDecimal的绝对值,其比例是this.scale()。

语法 :

public BigDecimal abs()

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

返回值:返回一个BigDecimal,其值为这个BigDecimal的绝对值,即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

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

输出:

Absolute value is 63.93471
  1. java.math.BigDecimal.abs(MathContext mc)返回一个BigDecimal,其值是根据MathContext类的对象mc指定的精度设置,通过四舍五入得到的BigDecimal的绝对值。

语法:

public BigDecimal abs(MathContext mc)

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

返回值: 返回一个BigDecimal,其值是按照对象mc所指定的精度设置进行四舍五入后得到的BigDecimal的绝对值。

异常:该方法抛出一个ArithmeticException,如果结果是不精确的,但是舍入模式是UNNECESSARY。

下面的程序说明了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

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

输出:

Absolute value, rounded to 15 precision is 143567812363.935

**参考资料: **https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#abs()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程