Java BigDecimal remainder()方法及示例

Java BigDecimal remainder()方法及示例

java.math.BigDecimal .remainder(BigDecimal divisor)用于计算两个BigDecimals的余数。余数是由this.substract(this.divideToIntegralValue(divisor).multiply(divisor))给出。这个方法对当前的BigDecimal进行运算,这个方法是通过调用这个方法和作为参数传递的BigDecimal进行的。

注意:这不是modulo操作(结果可以是负数)。

在Java中,有两个remainder方法的重载,如下所示。

  • remainder(BigDecimal divisor)
  • remainder(BigDecimal divisor, MathContext mc)

remainder(BigDecimal divisor)

语法

public BigDecimal remainder(BigDecimal divisor)

参数: 本方法接受一个参数,这个BigDecimal要被除数除掉以获得余数。

返回值: 本方法返回一个BigDecimal,其中包含了结果(本数 % 除数)。

异常: 参数除数不能是0,否则会产生算术异常。

下面的程序用来说明BigDecimal的remainder()方法。

// Java program to demonstrate
// remainder() method of BigDecimal
  
import java.math.BigDecimal;
  
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store the result
        BigDecimal res;
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Two objects of String created
        // Holds the values
        String input1
            = "31452678569";
        String input2
            = "2468";
  
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
        BigDecimal divisor
            = new BigDecimal(input2);
  
        // Using remainder() method
        res = a.remainder(divisor);
  
        // Display the result in BigDecimal
        System.out.println(res);
    }
}

输出。

373

remainder(BigDecimal divisor, MathContext mc)

本方法用于计算两个BigDecimals的余数,其值为(this % divisor),并根据上下文设置进行四舍五入。MathContext设置会影响用于计算余数的隐式除法。因此,余数可能包含多于 mc.getPrecision() 的数字。

语法

public BigDecimal remainder(BigDecimal divisor, MathContext mc)

参数: 本方法接受一个被除数的参数和一个MathContext类型的参数mc,用于上下文设置。

返回值: 该方法返回一个BigDecimal,其中包含了结果(这个%除数)。

异常: 该方法在以下情况下会抛出算术异常。

  • 参数divisor不能是0。
  • 如果mc.precision>0,并且结果需要的精度超过了mc.precision的位数。

下面的程序用来说明BigDecimal的remainder()方法。

// Java program to demonstrate
// remainder() method of BigDecimal
  
import java.math.*;
  
public class GFG {
    public static void main(String[] args)
    {
        // BigDecimal object to store the result
        BigDecimal res;
  
        // For user input
        // Use Scanner or BufferedReader
  
        // Two objects of String created
        // Holds the values
        String input1
            = "24536482";
        String input2
            = "264";
  
        // Convert the string input to BigDecimal
        BigDecimal a
            = new BigDecimal(input1);
        BigDecimal divisor
            = new BigDecimal(input2);
  
        // Set precision to 5
        MathContext mc
            = new MathContext(5);
  
        // Using remainder() method
        res = a.remainder(divisor, mc);
  
        // Display the result in BigDecimal
        System.out.println(res);
    }
}

输出。

58

**参考资料: **https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/math/BigDecimal.html#remainder(java.math.BigDecimal)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程