BigDecimal remainder(BigDecimal divisor, MathContext mc)
优质
小牛编辑
131浏览
2023-12-01
描述 (Description)
java.math.BigDecimal.remainder(BigDecimal divisor, MathContext mc)返回一个BigDecimal,其值为(this%divisor),并根据上下文设置进行舍入。
MathContext设置会影响用于计算余数的隐式除法。 余数计算本身按照定义是精确的。 因此,余数可能包含多个mc.getPrecision()数字。
余数由this.subtract(this.divideToIntegralValue(divisor,mc).multiply(divisor))给出。 这不是模运算,即结果可能是负的。
声明 (Declaration)
以下是java.math.BigDecimal.remainder()方法的声明。
public BigDecimal remainder(BigDecimal divisor, MathContext mc)
参数 (Parameters)
divisor - 要分割此BigDecimal的值。
mc - 要使用的上下文。
返回值 (Return Value)
当BigDecimal对象除以除数时,此方法返回余数,即此除数,根据需要舍入。
异常 (Exception)
ArithmeticException - 如果divisor == 0。
ArithmeticException - 如果结果不精确但舍入模式为UNNECESSARY,或者mc.precision为“0”且此.divideToIntgralValue(除数)的结果将要求精度大于mc.precision数字。
例子 (Example)
以下示例显示了math.BigDecimal.remainder()方法的用法。
package cn.xnip;
import java.math.*;
public class BigDecimalDemo {
public static void main(String[] args) {
// create 3 BigDecimal Objects
BigDecimal bg1, bg2, bg3;
MathContext mc = new MathContext(2); // 2 precision
bg1 = new BigDecimal("-144.144");
bg2 = new BigDecimal("16.12");
// bg2 divided by bg1 using mc gives bg3 as remainder
bg3 = bg1.remainder(bg2, mc);
String str = "The remainder is " + bg3;
// print the value of bg3
System.out.println( str );
}
}
让我们编译并运行上面的程序,这将产生以下结果 -
The remainder is -15.184