Java11 RoundingModeでBigDecimalの小数点切り上げ・切り捨てサンプル
環境
JavaSE 11
Eclipse 4.26.0
構文
1.RoundingMode.UP
0 から離れるように丸めるモードです
2.RoundingMode.HALF_UP
両隣りの数字が等距離の場合は切り上げられます
3.RoundingMode.HALF_EVEN
両隣りの数字が等距離の場合は偶数側に丸められます
4.RoundingMode.FLOOR
負の無限大に近づくように丸めるモードです。
5.RoundingMode.DOWN
0 に近づくように丸めるモードです。いわゆる「切り捨て」です。
使用例
package com.arkgame.study; import java.math.BigDecimal; import java.math.RoundingMode; public class DemoTest { public static void main(String[] args) { // DOWN BigDecimal bd1 = new BigDecimal("123.5"); BigDecimal res1 = bd1.setScale(0, RoundingMode.DOWN); System.out.println("DOWN切り捨て: " + res1.toPlainString()); // FLOOR BigDecimal bd2 = new BigDecimal("-10.5"); BigDecimal res2 = bd2.setScale(0, RoundingMode.FLOOR); System.out.println("FLOOR負の無限大: " + res2.toPlainString()); // HALF_EVEN BigDecimal bd3 = new BigDecimal("11.6"); BigDecimal res3 = bd3.setScale(0, RoundingMode.HALF_EVEN); System.out.println("HALF_EVEN偶数側に丸め: " + res3.toPlainString()); // HALF_UP BigDecimal bd4 = new BigDecimal("12.5"); BigDecimal res4 = bd4.setScale(0, RoundingMode.HALF_UP); System.out.println("HALF_UP切り上げ: " + res4.toPlainString()); } }
実行結果
DOWN切り捨て: 123
FLOOR負の無限大: -11
HALF_EVEN偶数側に丸め: 12
HALF_UP切り上げ: 13