Javaでの浮動小数点の精度エラー

Adam Smith:

精度エラーを修正するための最良の方法はJavaにあると思います。次の例でわかるように、精度エラーがあります。

class FloatTest
{
  public static void main(String[] args)
  {
    Float number1 = 1.89f;
    
    for(int i = 11; i < 800; i*=2)
    {
      System.out.println("loop value: " + i);
      System.out.println(i*number1);
      System.out.println("");
    }
  }
}

表示される結果は次のとおりです。

ループ値:11

20.789999

ループ値:22

41.579998

ループ値:44

83.159996

ループ値:88

166.31999

ループ値:176

332.63998

ループ値:352

665.27997

ループ値:704

1330.5599

また、誰かがなぜそれが11から始まり、毎回値を2倍にするのかを説明できる場合。他のすべての値(または少なくともそれらの多く)は正しい結果を表示したと思います。

このような問題により、以前は頭痛の種でしたが、通常は数値フォーマッターを使用するか、ストリングを文字列に入れます。

編集:人々が述べたように、私は倍精度浮動小数点数を使用することもできますが、それを試した後、倍精度浮動小数点数792として1.89がまだエラーを出力するようです(出力は1496.8799999999999です)。

BigDecimalなどの他のソリューションを試してみると思います

ヤレク・ポティウク:

精度を重視する場合は、BigDecimalを使用する必要があります

http://download.oracle.com/javase/1,5.0/docs/api/java/math/BigDecimal.html

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ApachePig浮動小数点のSUMエラーの精度

分類Dev

Javaの半精度浮動小数点

分類Dev

Java浮動小数点精度の問題

分類Dev

Java浮動小数点精度の問題

分類Dev

Javaの倍精度浮動小数点数

分類Dev

Java浮動小数点の表示精度

分類Dev

浮動小数点の精度エラーによる二乗問題の細分化

分類Dev

C ++での浮動小数点データ型の精度

分類Dev

TensorFlowの浮動小数点の精度

分類Dev

Pythonでの倍精度/浮動小数点型の精度

分類Dev

Pythonの倍精度浮動小数点値?

分類Dev

浮動小数点精度のgolang

分類Dev

Swiftの高精度浮動小数点数

分類Dev

Xの浮動小数点精度

分類Dev

浮動小数点の精度-C ++ 03

分類Dev

浮動小数点数の精度

分類Dev

Javaで浮動小数点数または倍精度浮動小数点数による浮動小数点精度エラーを回避するにはどうすればよいですか?

分類Dev

浮動小数点精度の倍精度と浮動小数点の違い

分類Dev

ScalaREPLの浮動小数点リテラルのエラー

分類Dev

浮動小数点エラーの発生とその防止方法

分類Dev

浮動小数点のエラーの制御

分類Dev

Java / C#での浮動小数点計算の大幅な精度の違い

分類Dev

C ++での浮動小数点エラーの不正使用を修正する方法

分類Dev

JavaScriptでの浮動小数点の精度の扱い

分類Dev

C ++での浮動小数点数の完全な精度の表示?

分類Dev

GroovyとJava-浮動小数点の精度の違い

分類Dev

Pythonで浮動小数点の精度を動的に変更する

分類Dev

Javaでの4倍精度浮動小数点(128ビット)数の処理

分類Dev

式には、浮動小数点での算術型エラーが必要です

Related 関連記事

  1. 1

    ApachePig浮動小数点のSUMエラーの精度

  2. 2

    Javaの半精度浮動小数点

  3. 3

    Java浮動小数点精度の問題

  4. 4

    Java浮動小数点精度の問題

  5. 5

    Javaの倍精度浮動小数点数

  6. 6

    Java浮動小数点の表示精度

  7. 7

    浮動小数点の精度エラーによる二乗問題の細分化

  8. 8

    C ++での浮動小数点データ型の精度

  9. 9

    TensorFlowの浮動小数点の精度

  10. 10

    Pythonでの倍精度/浮動小数点型の精度

  11. 11

    Pythonの倍精度浮動小数点値?

  12. 12

    浮動小数点精度のgolang

  13. 13

    Swiftの高精度浮動小数点数

  14. 14

    Xの浮動小数点精度

  15. 15

    浮動小数点の精度-C ++ 03

  16. 16

    浮動小数点数の精度

  17. 17

    Javaで浮動小数点数または倍精度浮動小数点数による浮動小数点精度エラーを回避するにはどうすればよいですか?

  18. 18

    浮動小数点精度の倍精度と浮動小数点の違い

  19. 19

    ScalaREPLの浮動小数点リテラルのエラー

  20. 20

    浮動小数点エラーの発生とその防止方法

  21. 21

    浮動小数点のエラーの制御

  22. 22

    Java / C#での浮動小数点計算の大幅な精度の違い

  23. 23

    C ++での浮動小数点エラーの不正使用を修正する方法

  24. 24

    JavaScriptでの浮動小数点の精度の扱い

  25. 25

    C ++での浮動小数点数の完全な精度の表示?

  26. 26

    GroovyとJava-浮動小数点の精度の違い

  27. 27

    Pythonで浮動小数点の精度を動的に変更する

  28. 28

    Javaでの4倍精度浮動小数点(128ビット)数の処理

  29. 29

    式には、浮動小数点での算術型エラーが必要です

ホットタグ

アーカイブ