Java でBigDecimal
クラスを操作していて、コードの一部で小数部分を抽出する必要があります。 BigDecimal
の小数点以下の数値を取得するのに役立つ組み込みメソッドがないようですBigDecimal
。
例えば:
BigDecimal bd = new BigDecimal("23452.4523434");
4523434
上記の数値からを抽出したいと思います。それを行う最良の方法は何ですか?
Java でBigDecimal
クラスを操作していて、コードの一部で小数部分を抽出する必要があります。 BigDecimal
の小数点以下の数値を取得するのに役立つ組み込みメソッドがないようですBigDecimal
。
例えば:
BigDecimal bd = new BigDecimal("23452.4523434");
4523434
上記の数値からを抽出したいと思います。それを行う最良の方法は何ですか?
メソッドを使用する代わりに、次のremainder()
方法があります。
BigDecimal bd = new BigDecimal("23452.4523434");
BigDecimal fracBd = bd.subtract(new BigDecimal(bd.toBigInteger()));
さらに、 abs() メソッドを試して、小数部分が正であることを確認できます。
BigDecimal fracBd = bd.subtract(new BigDecimal(bd.toBigInteger())).abs();