位置:首頁 > Java技術 > Java.math包 > remainder(BigDecimal divisor, MathContext mc)方法實例

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