Java11 RoundingModeでBigDecimal型の小数点切り上げ・切り捨て・四捨五入処理のサンプル

環境
JavaSE 11
Eclipse 4.26.0

構文
public BigDecimal setScale(int newScale,RoundingMode roundingMode)
BigDecimalクラスは、小数点以下の計算を誤差なくできるクラスで、setScaleメソッドは、小数点以下の桁数を丸めます。
setScaleのスケールとは、小数点以下の桁数です。
一つ目めの引数は、求める小数点以下の桁数をint型で指定します。
例:小数第三位で切り捨てする場合は、2を指定する。
二つ目の引数は、列挙型定数のRoundingMode.DOWNを指定します。

使用例

package com.arkgame.study;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class DemoTest {

      public static void main(String[] args) {
            // 四捨五入
            BigDecimal bdA = BigDecimal.valueOf(0.45);
            BigDecimal resA = bdA.setScale(1, RoundingMode.HALF_UP);
            System.out.println("四捨五入の結果:" + resA);

            // 切り上げ
            BigDecimal bdB = BigDecimal.valueOf(0.454);
            BigDecimal resB = bdB.setScale(2, RoundingMode.UP);
            System.out.println("切り上げの結果:" + resB);

            // 切り捨て
            BigDecimal bdC = BigDecimal.valueOf(0.4599);
            BigDecimal resC = bdC.setScale(3, RoundingMode.DOWN);
            System.out.println("切り捨ての結果:" + resC);
      }
}

実行結果
四捨五入の結果:0.5
切り上げの結果:0.46
切り捨ての結果:0.459

Java

Posted by arkgame