-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

double将比 a 更精确的 a分配给float声明为 的变量float。浮点值在 Java 中以f结尾。普通浮点数被自动认为是双精度数......

要么做:

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到浮点常量告诉编译器您希望它是单精度的。

除非您有大量的它们(并且存储它们的空间有限),否则通常首选双打。

于 2013-09-13T02:23:14.413 回答