为什么不允许这样做?
float n;
n = 1234567.89;
但是这是。
float n;
n = (float) 12.3456789;
我使用的是JAVA 8和Netbeans 8.0.1。
下面的IDE快照。
答案 0 :(得分:3)
默认情况下,Java将文字小数解释为double
,因此要输入浮点数,您需要执行以下操作之一:
float n = 1234567.89f;
float n = (float) 1234567.89;
请注意,这样做可能会导致精度下降。
答案 1 :(得分:2)
java在第一行将其视为double。 n = 1234567.89
不是浮动的。 double是8字节,float是4字节。
解决方案是
float n;
n = 1234567.89f;
答案 2 :(得分:1)
如果将十进制数定义为1234567.89,则将其解释为 double 。
浮点数以字母 f 结尾。您可以将其定义如下。
float n;
n = 1234567.89f;
Float是32位IEEE 754浮点。 Double是64位IEEE 754浮点。
答案 3 :(得分:1)
使用
float n;
n = 1234567.89f;
默认情况下,这会将您的号码声明为浮点值而不是双精度值。