Java.math.BigDecimal.divideAndRemainder() 方法

描述

java.math.BigDecimal.divideAndRemainder(BigDecimal divisor, MathContext mc) 返回一个二元素 BigDecimal 数组,其中包含 divideToIntegralValue 的结果和两个操作数的余数结果。

如果同时需要整数商和余数,则此方法比单独使用 divideToIntegralValue 和余数方法更快,因为除法只需要执行一次。


声明

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

public BigDecimal[] divideAndRemainder(BigDecimal divisor, MathContext mc)

参数

  • divisor − 此 BigDecimal 将被除以的值,并计算余数。

  • mc − 要使用的上下文。


返回值

此方法返回一个二元素 BigDecimal 数组:商(divideToIntegralValue 的结果)是初始元素,余数是最终元素。


异常

  • ArithmeticException − 如果除数 == 0

  • ArithmeticException − 如果结果不精确但舍入模式为 UNNECESSARY 或 mc.precision > 0,并且 this.divideToIntgralValue(divisor) 的结果将需要超过 mc.precision 数字的精度。


示例

下面的例子展示了 math.BigDecimal.divideAndRemainder() 方法的使用。

package com.tutorialspoint;

import java.math.*;

public class BigDecimalDemo {

   public static void main(String[] args) {

      // create 2 BigDecimal objects
      BigDecimal bg1, bg2;

      bg1 = new BigDecimal("143.145");
      bg2 = new BigDecimal("10.01");

      MathContext mc = new MathContext(2);

      // BigDecimal array bg stores result of bg1/bg2,
      // using mc 
      BigDecimal bg[] = bg1.divideAndRemainder(bg2, mc);

      // print quotient and remainder
      System.out.println("Division result");
      System.out.println("Quotient is " + bg[0] );
      System.out.println("Remainder is " + bg[1] );
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

Division result
Quotient is 14
Remainder is 3.005