Java中什么是浮点数?

2022-08-31 09:20:07

我写了这个代码:

float b = 3.6;

我得到这个:

Error:Unresolved compilation problem: 
    Type mismatch: cannot convert from double to float

为什么?的定义是什么?float


答案 1

在 Java 中,当您将十进制数键入为 时,它将解释为 . 是 64 位精度的 IEEE 754 浮点,而是 32 位精度的 IEEE 754 浮点。由于 a 不如 a 精确,转换不能隐式执行。3.6doubledoublefloatfloatdouble

如果要创建浮点数,则应以 (即: ) 结束数字。f3.6f

有关更多说明,请参阅 Java 教程的基元数据类型定义


答案 2

来得及

float b= 3.6f;

如果浮点文本的后缀为 ASCII 字母 F 或 f,则浮点文本的类型为 float;否则,其类型为双精度,并且可以选择以 ASCII 字母 D 或 d 作为后缀