Java.math.BigDecimal.remainder() 方法
描述
java.math.BigDecimal.remainder(BigDecimal divisor, MathContext mc) 返回一个 BigDecimal,其值为 (this % divisor),根据上下文设置进行舍入。
MathContext 设置会影响用于计算余数的隐式除法。 根据定义,余数计算本身是精确的。 因此,余数可能包含多于 mc.getPrecision() 位。
余数由 this.subtract(this.divideToIntegralValue(divisor, mc).multiply(divisor)) 给出。 这不是模运算,即结果可能为负。
声明
以下是 java.math.BigDecimal.remainder() 方法的声明。
public BigDecimal remainder(BigDecimal divisor, MathContext mc)
参数
divisor − 此 BigDecimal 将被除以的值。
mc − 要使用的上下文。
返回值
此方法返回 BigDecimal 对象除以除数时的余数,即 this % 除数,根据需要四舍五入。
异常
ArithmeticException − 如果除数 == 0。
ArithmeticException − 如果结果不精确但舍入模式为 UNNECESSARY 或 mc.precision > 0,并且 this.divideToIntgralValue(divisor) 的结果将需要超过 mc.precision 数字的精度。
示例
下面的例子展示了 math.BigDecimal.remainder() 方法的使用。
package com.tutorialspoint; 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