7

我对编程很陌生。我有以下代码:

float f = 18.45f;

这很好用。如果我将其更改为:

float f = 18.45;

java说这是错误的:

error: possible loss of precision

但它是可选的double。但long我再次面临同样的问题。

为什么 java 强迫我这样做,但不以防万一double

4

1 回答 1

20

在 Java 中,18.45是一种double保存 64 位的数据类型。float数据类型最多只能容纳 32 位。添加额外的f使其成为浮点数(浮点文字)。

有关更多详细信息,请参阅原始数据类型

于 2013-02-24T17:01:34.283 回答