BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

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

描述 (Description)

java.math.BigDecimal.divide(BigDecimal divisor, int scale, int roundingMode)返回一个BigDecimal,其值为(this/divisor),其scale是指定的。 如果必须执行舍入以生成具有指定比例的结果,则应用指定的舍入模式。

声明 (Declaration)

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

public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

参数 (Parameters)

  • divisor - 要分割此BigDecimal的值。

  • scale - 要返回的BigDecimal商的比例。

  • roundingMode - 要应用的roundingMode入模式。

返回值 (Return Value)

此方法返回一个BigDecimal对象,其值为此/ divisor舍入为指定的给定比例。

异常 (Exception)

  • ArithmeticException - 如果divisor == 0,或者roundingMode == ROUND_UNNECESSARY,则this.scale()不足以完全表示除法的结果。

  • IllegalArgumentException - 如果roundingMode不表示有效的舍入模式。

例子 (Example)

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

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("16");
      bg2 = new BigDecimal("3");
      // divide bg1 with bg2 with 4 scale
      // 1 specifies BigDecimal.ROUND_DOWN
      bg3 = bg1.divide(bg2, 4, 1);
      String str = "Division result is " +bg3;
      // print bg3 value
      System.out.println( str );
   }
}

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

Division result is 5.3333