remainder(BigDecimal divisor, MathContext mc)方法範例


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物件是除以除數的餘數,即做除法運算,四捨五入為必要時。

異常

  • ArithmeticException - if divisor == 0

  • ArithmeticException - 如果結果不準確,但是捨入模式是UNNECESSARY,或mc.precision> 0和this.divideToIntgralValue(divisor)結果,超過mc.precision位數的精度。 

例子

下面的例子顯示math.BigDecimal.remainder()方法的用法

package com.yiibai;

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