【Java】BigDecimalクラスで小数点以下の値を取得する方法
JavaのBigDecimalクラスで小数点以下の値を取得するにはremainderメソッドを使用すれば取得することができます。
// remainderメソッド 値1.remainder(値2); ※値1を値2で割った余りを取得します
remainderメソッドでは上記のとおり値1を値2で割った余りを取得します。
値2の値を1とすると値1の値の小数点以下の値のみ残るため小数点以下の値を取得することができます。
BigDecimal bd = BigDecimal.valueOf(12345.6789);
// 12345.6789 % 1 の計算結果を取得する
//
BigDecimal 小数点以下の値 = bd.remainder(BigDecimal.ONE);
System.out.println(小数点以下の値);
// 実行結果
0.6789
なお、マイナスの値の際は負の値となりますので小数点以下の部分を正の数として取り扱いたい場合は注意が必要です。
BigDecimal bd = BigDecimal.valueOf(-12345.6789); // -12345.6789 % 1 の計算結果を取得する // BigDecimal 小数点以下の値 = bd.remainder(BigDecimal.ONE); System.out.println(小数点以下の値); // 実行結果 -0.6789
なお、小数点以下が存在しない場合は0を返却します※余りが存在しないため
BigDecimal bd = BigDecimal.valueOf(123456789); // 123456789 % 1 の計算結果を取得する BigDecimal 小数点以下の値 = bd.remainder(BigDecimal.ONE); System.out.println(小数点以下の値); // 実行結果 0
コメントを残す