我对编程很新。我有以下代码:
float f = 18.45f;
这很好用。如果我改为:
float f = 18.45;
java称这是错误:
error: possible loss of precision
但它是double
的可选项。但在long
我再次面临同样的问题。
为什么java强迫我这样做,但double
答案 0 :(得分:20)
在Java中,18.45
是一个double
数据类型,它保存64位。 float
数据类型最多只能容纳32位。添加额外的f
使它成为一个浮点数(浮点文字)。
有关详细信息,请参阅Primitive Data Types。