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