Java.math.BigDecimal.remainder() 方法



说明

java.math.BigDecimal.remainder(BigDecimal divisor, MathContext mc) 返回一个 BigDecimal,其值是 (this % divisor),并根据环境设置进行舍入。

MathContext 设置影响用于计算余数的隐式除法。余数本身的计算是精确的。因此,余数可能包含多于 mc.getPrecision() 位数。

余数由以下公式给出:this.subtract(this.divideToIntegralValue(divisor, mc).multiply(divisor))。这不是求模运算,即结果可能为负数。

声明

以下是 java.math.BigDecimal.remainder() 方法的声明。

public BigDecimal remainder(BigDecimal divisor, MathContext mc)

参数

  • divisor - 用以除以该 BigDecimal 的值。

  • mc - 要使用的环境。

返回值

此方法返回当 BigDecimal 对象除以除数(即 this % divisor)时,并在必要时进行舍入后的余数。

异常

  • ArithmeticException - 如果 divisor == 0。

  • ArithmeticException - 如果结果不精确但舍入模式为 UNNECESSARY,或者 mc.precision > 0 且 this.divideToIntgralValue(divisor) 的结果需要 mc.precision 位数以上的精度。

示例

以下示例显示了 math.BigDecimal.remainder() 方法的用法。

package com.tutorialspoint;

import java.math.*;

public class BigDecimalDemo {

   public static void main(String[] args) {

      // create 3 BigDecimal Objects
      BigDecimal bg1, bg2, bg3;

      MathContext mc = new MathContext(2); // 2 precision

      bg1 = new BigDecimal("-144.144");
      bg2 = new BigDecimal("16.12");

      // bg2 divided by bg1 using mc gives bg3 as remainder
      bg3 = bg1.remainder(bg2, mc);

      String str = "The remainder is " + bg3;

      // print the value of bg3
      System.out.println( str );
   }
}

让我们编译并运行上述程序,它将产生以下结果 −

The remainder is -15.184
java_math_bigdecimal.htm
广告