Closed2

JavaでBigDecimalを使うときメモ

ぶるーぶるー

Javaバージョン

生成

// 文字列を渡す
BigDecimal bBar = new BigDecimal("1000");

// BigDescimal.valueOfを使う
BigDecimal bFoo = BigDecimal.valueOf(1000);

切り捨てしたい

BigDecimal#setScaleでスケールを0、RoundingMode.DOWNに設定する。
※スケールは小数点以下の桁数のこと

BigDecimal bBar = new BigDecimal("123.456");
bBar.setScale(0, RoundingMode.DOWN);

System.out.println(bBar);

文字列にする

toString()ではなく、toPlainString()を使う。
toString()の場合、指数表示になる場合がある

文字列にするとき、スケールが考慮されるので小数点以下が表示されてしまう
その場合は、BigDecimal#stripTrailingZerosを使う

参考資料

このスクラップは2021/11/22にクローズされました