BigDecimal divideToIntegralValue(BigDecimal divisor, MathContext mc)

优质
小牛编辑
130浏览
2023-12-01

描述 (Description)

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

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

声明 (Declaration)

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

public BigDecimal divideToIntegralValue(BigDecimal divisor, MathContext mc)

参数 (Parameters)

  • divisor - 要分割此BigDecimal的值。

  • mc - 要使用的上下文。

返回值 (Return Value)

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

异常 (Exception)

  • ArithmeticException - 如果divisor == 0。

  • ArithmeticException - 如果mc.precision为“0”且结果需要的精度超过mc.precision数字。

例子 (Example)

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

package cn.xnip;
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