BigDecimalの桁を四捨五入、切り上げ、切り捨てする方法

技術

はじめに

こんにちは!さいけです!

今回は「BigDecimalの桁を四捨五入、切り上げ、切り捨てする方法」を紹介します!

なお、サンプルコードの言語はJavaです。

BigDecimalの桁を四捨五入、切り上げ、切り捨てする方法

BigDecimalの桁を四捨五入、切り上げ、切り捨てするには、BigDecimalクラスのsetScaleメソッドを使います。

setScaleメソッドの第一引数には桁数を指定します。第二引数には丸め処理方法を指定します。

では、具体的なコードでそれぞれ紹介していきます。

四捨五入

BigDecimal bigDecimalPlus = new BigDecimal(123.456789);
BigDecimal bigDecimalMinus = new BigDecimal(-123.456789);

// 小数第1位で四捨五入する
BigDecimal bigDecimal1 = bigDecimalPlus.setScale(0, BigDecimal.ROUND_HALF_UP);

// 小数第2位で四捨五入する
BigDecimal bigDecimal2 = bigDecimalPlus.setScale(1, BigDecimal.ROUND_HALF_UP);

// 小数第3位で四捨五入する
BigDecimal bigDecimal3 = bigDecimalPlus.setScale(2, BigDecimal.ROUND_HALF_UP);

// マイナス値を小数第3位で四捨五入する
BigDecimal bigDecimal4 = bigDecimalMinus.setScale(2, BigDecimal.ROUND_HALF_UP);

// 123
System.out.println(bigDecimal1);

// 123.5
System.out.println(bigDecimal2);

// 123.46
System.out.println(bigDecimal3);

// -123.46
System.out.println(bigDecimal4);

切り上げ

BigDecimal bigDecimalPlus = new BigDecimal(123.456789);
BigDecimal bigDecimalMinus = new BigDecimal(-123.456789);

// 小数第1位で切り上げする
BigDecimal bigDecimal1 = bigDecimalPlus.setScale(0, BigDecimal.ROUND_UP);

// 小数第2位で切り上げする
BigDecimal bigDecimal2 = bigDecimalPlus.setScale(1, BigDecimal.ROUND_UP);

// 小数第3位で切り上げする
BigDecimal bigDecimal3 = bigDecimalPlus.setScale(2, BigDecimal.ROUND_UP);

// マイナス値を小数第3位で切り上げする
BigDecimal bigDecimal4 = bigDecimalMinus.setScale(2, BigDecimal.ROUND_UP);

// 124
System.out.println(bigDecimal1);

// 123.5
System.out.println(bigDecimal2);

// 123.46
System.out.println(bigDecimal3);

// -123.46
System.out.println(bigDecimal4);

切り捨て

BigDecimal bigDecimalPlus = new BigDecimal(123.456789);
BigDecimal bigDecimalMinus = new BigDecimal(-123.456789);

// 小数第1位で切り捨てする
BigDecimal bigDecimal1 = bigDecimalPlus.setScale(0, BigDecimal.ROUND_DOWN);

// 小数第2位で切り捨てする
BigDecimal bigDecimal2 = bigDecimalPlus.setScale(1, BigDecimal.ROUND_DOWN);

// 小数第3位で切り捨てする
BigDecimal bigDecimal3 = bigDecimalPlus.setScale(2, BigDecimal.ROUND_DOWN);

// マイナス値を小数第3位で切り捨てする
BigDecimal bigDecimal4 = bigDecimalMinus.setScale(2, BigDecimal.ROUND_DOWN);

// 123
System.out.println(bigDecimal1);

// 123.4
System.out.println(bigDecimal2);

// 123.45
System.out.println(bigDecimal3);

// -123.45
System.out.println(bigDecimal4);

おわりに

今回は「BigDecimalの桁を四捨五入、切り上げ、切り捨てをする方法」について紹介しました。

setScaleメソッドを使えば簡単にできますね!

本記事がBigDecimalの桁丸め(四捨五入、切り上げ、切り捨て)の参考になればと思います!

それでは\(^o^)/

 

コメント

タイトルとURLをコピーしました