java.math.BigDecimal.divideAndRemainder(BigDecimal divisor, MathContext mc) 返回一个包含divideToIntegralValue的结果,其次是剩下的两个操作数的结果,结果由两个元素组成的BigDecimal数组。
如果两个整数商和余数都需要,这种方法比单独使用divideToIntegralValue和remainder方法,因为相除仅需执行一次。
声明
以下是java.math.BigDecimal.divideAndRemainder()方法的声明
public BigDecimal[] divideAndRemainder(BigDecimal divisor, MathContext mc)
参数
-
divisor - 值通过此BigDecimal被除,并计算的余数
-
mc - 使用上下文
返回值
此方法返回由两个元素组成的BigDecimal数组:商值(divideToIntegralValue的结果)是初始元素,余数是最终元素。
Exception
-
ArithmeticException - 如果 divisor == 0
-
ArithmeticException - 如果结果不准确,但是舍入模式是不必要的,或mc.precision> 0和this.divideToIntgralValue(除数)的结果,将需要超过mc.precision位数的精度。
例子
下面的例子显示math.BigDecimal.divideAndRemainder()方法的用法
package com.yiibai; 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