はじめに
こんにちは!さいけです!
今回は「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^)/
コメント