Java-math-bigdecimal-remainder-mc
提供:Dev Guides
Java.math.BigDecimal.remainder()メソッド
説明
- java.math.BigDecimal.remainder(BigDecimal divisor、MathContext mc)*は、値が(this%divisor)であるBigDecimalを、コンテキスト設定に従って丸めて返します。
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 -除数== 0の場合。
- ArithmeticException -結果が正確ではないが、丸めモードがUNNECESSARYまたはmc.precision> 0で、this.divideToIntgralValue(divisor)の結果がmc.precision桁以上の精度を必要とする場合。
例
次の例は、math.BigDecimal.remainder()メソッドの使用法を示しています。
package com.finddevguides;
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