Double と BigDecimal の違いは? 質問する

Double と BigDecimal の違いは? 質問する

いくつかの浮動小数点変数を計算する必要があり、同僚はBigDecimalの代わりにを使用するdoubleとより正確になるだろうと提案しました。しかし、 とは何か、そして を最大限に活用するにはどうすればよいのかを知りたいのですBigDecimal

ベストアンサー1

A はBigDecimal、数値を正確に表す方法です。A にDoubleは一定の精度があります。さまざまな大きさの double (とd1=1000.0などd2=0.001)を扱う0.001場合、大きさの差が非常に大きいため、合計時に が完全に省略される可能性があります。 では、BigDecimalこれは起こりません。

の欠点は、BigDecimal速度が遅く、そのようにアルゴリズムをプログラムするのが少し難しいことです ( と+ - */オーバーロードされないため)。

お金を扱う場合や精度が必須の場合は を使用しますBigDecimal。それ以外の場合はDoublesで十分です。

私は読むことを勧めますjavadoc彼らは私がここで説明するよりもBigDecimal物事をうまく説明してくれます :)

おすすめ記事