我在计算机科学课(第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
流程已完成。
答案 0 :(得分:2)
您为声明为double
的变量指定比float
更精确的float
。浮点值以Java中的 f 结尾。普通浮点数自动被认为是双倍的......
要么:
float f = 58.5678f;
或:
double d = 58.5678;
答案 1 :(得分:1)
如果真正需要float
(单精度IEEE754),您可以使用:
float floatOne = 58.5678f;
我,我只是简单地使用double
类型,因为它提供的精度比float
更高:
double doubleOne = 58.5678;
Java中的浮点常量(以及C和C ++等)的默认值是双精度,你试图把它变成单精度变量,因此消息。将f
附加到浮点常量会告诉编译器您想要它是单精度。
除非你有大量阵列(并且存储空间有限),否则通常首选双打。