JShell 可能从 double 到 float 的有损转换
JShell possible lossy conversion from double to float
我正在尝试 Java9 JShell 功能。我是
无法设置浮点值:
jshell> float b = 3.5
Error:
| incompatible types: possible lossy conversion from double to float
| float b = 3.5;
jshell> float x =2
x ==> 2.0
Java 太小气了。
文字3.5
的类型是double
,而您将其分配给float
.
由于可能的 float
集合必然是可能 double
集合的子集,因此您会在转换警告时丢失精度。
为了方便起见,使用3.5f
表示float
文字。
但请注意,3.5
可以在 double
和 float
中 准确地 表示,所以在这个 具体场合,错误是废话。
这是 Java 的行为(如现有答案中所述)。 JShell 严格遵循 Java 语法和语义——这很重要,因此您不会开发出不正确的代码。
我正在尝试 Java9 JShell 功能。我是 无法设置浮点值:
jshell> float b = 3.5
Error:
| incompatible types: possible lossy conversion from double to float
| float b = 3.5;
jshell> float x =2
x ==> 2.0
Java 太小气了。
文字3.5
的类型是double
,而您将其分配给float
.
由于可能的 float
集合必然是可能 double
集合的子集,因此您会在转换警告时丢失精度。
为了方便起见,使用3.5f
表示float
文字。
但请注意,3.5
可以在 double
和 float
中 准确地 表示,所以在这个 具体场合,错误是废话。
这是 Java 的行为(如现有答案中所述)。 JShell 严格遵循 Java 语法和语义——这很重要,因此您不会开发出不正确的代码。