いくつかの浮動小数点変数を計算する必要があり、同僚はBigDecimal
の代わりにを使用するdouble
とより正確になるだろうと提案しました。しかし、 とは何か、そして を最大限に活用するにはどうすればよいのかを知りたいのですBigDecimal
。
ベストアンサー1
A はBigDecimal
、数値を正確に表す方法です。A にDouble
は一定の精度があります。さまざまな大きさの double (とd1=1000.0
などd2=0.001
)を扱う0.001
場合、大きさの差が非常に大きいため、合計時に が完全に省略される可能性があります。 では、BigDecimal
これは起こりません。
の欠点は、BigDecimal
速度が遅く、そのようにアルゴリズムをプログラムするのが少し難しいことです ( と+
-
*
が/
オーバーロードされないため)。
お金を扱う場合や精度が必須の場合は を使用しますBigDecimal
。それ以外の場合はDoubles
で十分です。
私は読むことを勧めますjavadoc彼らは私がここで説明するよりもBigDecimal
物事をうまく説明してくれます :)