[解決済み] Double vs. BigDecimal?
2022-02-05 13:50:46
質問
私はいくつかの浮動小数点数の変数を計算しなければなりません。
BigDecimal
の代わりに
double
の方がより正確だからです。しかし、私はそれが何であるか、そしてどうすれば
BigDecimal
?
解決方法は?
A
BigDecimal
は、数字を正確に表現する方法です。A
Double
には一定の精度があります。様々な大きさの倍数を扱う(例えば
d1=1000.0
と
d2=0.001
) が発生する可能性があります。
0.001
は、大きさの違いが大きいため、合計するときにすべて削除されます。とは
BigDecimal
というようなことは起こりません。
のデメリットは
BigDecimal
は速度が遅く、アルゴリズムをこの方法でプログラムするのが少し難しいということです (理由は
+
-
*
と
/
はオーバーロードされない)。
お金を扱う場合や、正確さが要求される場合は
BigDecimal
. それ以外の場合
Doubles
で十分なのです。
を読むことをお勧めします。
ジャバドック
の
BigDecimal
の方が説明しやすいと思いますので :)
関連
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] なぜゲッターとセッター/アクセッサーを使うのですか?
-
[解決済み] java.lang.UnsupportedClassVersionError を修正する方法。サポートされていないメジャー.マイナーバージョン
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] 除算を強制的に浮動小数点にするにはどうしたらいいですか?除算は0に切り捨てられ続けますか?
-
[解決済み] JavaScriptで浮動小数点数の精度を扱うには?
-
[解決済み】サーブレットはどのように動作するのですか?インスタンス化、セッション、共有変数とマルチスレッド
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
-
[解決済み】JavaのFloatとdoubleのデータ型について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み] メソッドがそのスーパークラスのメソッドをオーバーライドしない
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】Javaを使用するSelenium - ドライバの実行ファイルのパスは、webdriver.gecko.driverシステムプロパティで設定する必要があります。
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】予期しない型エラー
-
[解決済み] Javaでdoubleを使用して精度を保持する