Java通貨にBigDecimal
を使用するサイト。) http://docs.Oracle.com/javase/tutorial/Java /nutsandbolts/datatypes.html
しかし、どの丸めモードを使用する必要がありますか?最も適切なものであり、最も広く私たち
「正しい」モードはありません。ビジネスケースによって異なります。例:
RoundingMode.FLOOR
)。RoundingMode.CEILING
)。HALF_UP
RoundingModeのドキュメント には、さまざまなモードがどのように機能するかの多くの例が含まれています。
より良い答えを得るには、達成したいことを教えてください。
つまり、BigDecimal
はJavaで使用する正しいタイプです。これは、精度を維持でき、さらに、ケースに最適な丸めモードを選択できるためです。
通常、次のように「ハーフアップ」丸めを使用します。
myBigDecimal.setScale(2, RoundingMode.HALF_UP);
この方法では、小数点以下2桁に丸めます(ほとんどの通貨はドルやセントを使用しますが、明らかに例外があります)。また、0.5セント以上では切り上げられるように値を丸めます。切り捨てます。詳細については、 javadoc を参照してください。
金融アプリケーションでは、ROUND_HALF_EVENが最も一般的な丸めモードです。そのモードはバイアスを回避します。ただし、表示にはNumberFormatクラスを使用する必要があります。このクラスは、異なる通貨の金額のローカライズの問題を処理します。ただし、NumberFormatはプリミティブのみを受け入れます。したがって、倍精度への変換のわずかな精度の変更を受け入れることができる場合は、最後のものを使用してください。