BigDecimalのdivideメソッドの解説
BigDecimalクラスのdivideメソッドは、2つのBigDecimalオブジェクトの除算演算を行う。そのメソッドは複数のオーバーロードがあり、ここでよく使われる形式の1つを示す。
BigDecimal divisor、スケール int、丸め方法 RoundingMode を使ってBigDecimalで割る
パラメーターの詳細
- 除数
- 小数点以下の桁数
- 丸めモード
戻り値:
除算の結果を表す新しいBigDecimalオブジェクトを返します。
この手法を用いる際には、以下の点に注意してください。
- 除算を行うと無限小数が発生する可能性があるので、除算を行う前に小数点の桁数の設定が必要です。
- scaleパラメータは返される小数部の桁数を指定し、返される小数部の桁数が指定されたscale値を超えた場合、指定された丸めモードに従って丸めを行います。
- roundingModeパラメータは、小数点を切り捨てするモードを指定し、次の選択肢があります。
- ゼロから離れる方向に丸めます。
- RoundingMode.DOWN:ゼロに近づく方向に丸める。
- RoundingMode.CEILING:正の無限大方向に丸める。
- RoundingMode.FLOOR:マイナス無限大方向に丸める。
- RoundingMode.HALF_UP:小数点以下の端数が 0.5 以上の場合は四捨五入。
- RoundingMode.HALF_DOWN:端数切り捨て
- RoundingMode.HALF_EVEN:銀行家丸め。切り捨て部分が5のときは、最も近い偶数に丸める。
BigDecimal を使用した除算メソッドdivide の使用例は次のとおりです。
import java.math.BigDecimal;
import java.math.RoundingMode;
public class DivideExample {
public static void main(String[] args) {
BigDecimal dividend = new BigDecimal("10"); // 被除数
BigDecimal divisor = new BigDecimal("3"); // 除数
// 将结果保留2位小数,采用四舍五入的舍入模式
BigDecimal result = dividend.divide(divisor, 2, RoundingMode.HALF_UP);
System.out.println("除法结果:" + result); // 输出:3.33
}
}
ここで示しているコードでは、10 を 3 で割り、小数点以下 2 桁まで四捨五入して表示する結果として 3.33 が得られます。