当前位置: 首页>>代码示例>>用法及示例精选>>正文


Java 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 对象除以除数时,此方法返回余数,即这个 % 除数,根据需要四舍五入。

异常

  • ArithmeticException− 如果除数 == 0。

  • ArithmeticException- 如果结果不精确但舍入模式是不需要的,或者 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.remainder() Method。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。