-1

私はコンピュータ サイエンスのクラス (11 番目) に参加しています。 -------------

C:\Users\I_SLAY_NOOBS\Desktop\Variables.java:26: error: possible loss of precision
        float floatOne = 58.5678;
                         ^
  required: float
  found:    double
1 error

プロセスが完了しました。

4

2 に答える 2

2

として宣言された変数に、doublea よりも正確な aを代入します。Java では、float 値はfで終わります。プレーンな浮動小数点数は、自動的に double と見なされます...floatfloat

次のいずれかを行います。

float f = 58.5678f;

また:

double d = 58.5678;
于 2013-09-13T02:23:24.913 に答える
1

本当にfloat(単精度 IEEE754) が必要な場合は、次を使用できます。

float floatOne = 58.5678f;

私は、次のdoubleタイプよりも精度が高いため、どこでもタイプを使用しますfloat

double doubleOne = 58.5678;

Java(およびCおよびC ++など)の浮動小数点定数のデフォルトは倍精度であり、それを単精度変数に押し込もうとしているため、メッセージが表示されます。f浮動小数点定数に追加すると、単精度にする必要があることがコンパイラに伝えられます

それらの膨大な配列 (およびそれらを格納するためのスペースが限られている) がない限り、一般的に double が好まれます。

于 2013-09-13T02:23:14.413 に答える