本サイトはプロモーション(広告)が含まれています。

【Java】BigDecimalクラスで小数点以下の値を取得する方法

【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

Javaの記事一覧へ

PAGE TOP