Java.math.BigDecimal.divideToIntegralValue() 方法

描述

java.math.BigDecimal.divideToIntegralValue(BigDecimal divisor, MathContext mc) 返回一个 BigDecimal,其值为 (this / divisor) 的整数部分。 由于精确商的整数部分不依赖于舍入模式,因此舍入模式不会影响此方法返回的值。

结果的首选比例是 (this.scale() - divisor.scale())。 如果精确商的整数部分需要多于 mc.precision 数字,则会引发 ArithmeticException。


声明

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

public BigDecimal divideToIntegralValue(BigDecimal divisor, MathContext mc)

参数

  • divisor − 此 BigDecimal 将被除以的值。

  • mc − 要使用的上下文。


返回值

该方法返回 this / divisor 的整数部分。


异常

  • ArithmeticException − 如果除数 == 0。

  • ArithmeticException − 如果 mc.precision > 0 并且结果需要超过 mc.precision 位的精度。


示例

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

package com.tutorialspoint;

import java.math.*;

public class BigDecimalDemo {

   public static void main(String[] args) {

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

      bg1 = new BigDecimal("99.8");
      bg2 = new BigDecimal("3");

      MathContext mc = new MathContext(2);

      // divide bg1 with bg2 using mc
      bg3 = bg1.divideToIntegralValue(bg2, mc);

      String str = "Integer part of division result using mc is " +bg3;

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

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

Integer part of division result using mc is 33