java - 将文字分配给 Float 时出现类型不匹配错误

标签 java scala math floating-point double

我明确指定了 float 类型。这段代码产生了一个错误。为什么?

目前,我使用的是 scala v2.12.8

scala> val f: Float = 3.0
<console>:11: error: type mismatch;
 found   : Double(3.0)
 required: Float
       val f: Float = 3.0

最佳答案

使用以下代码:

val f: Float = 3f

如果不添加f后缀,该变量将被视为double。

这在 Java 中也是一样的,因为 DoubleFloat 包装了 Java 的 doublefloat > 分别:

jshell> float f = 3.0
|  Error:
|  incompatible types: possible lossy conversion from double to float
|  float f = 3.0;
|            ^-^

jshell> float f = 3.0f
f ==> 3.0

关于java - 将文字分配给 Float 时出现类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60472874/

相关文章:

java - 通过网络发送具有自定义属性的文件

java - 如果在 ListView JavaFx 中选择了项目

exception - Scala 捕捉困惑

json - 无法使用 json4s 正确提取 json

scala - 如何在游戏框架表单中定义默认值可选字段?

math - 重写无限矩阵

java - 使用 Guava 连接 ImmutableSet

java - 在JSP中关联两个ArrayList

math - tensorflow 是否使用自动或符号渐变?

python - 如何在不构建临时列表的情况下计算唯一排列的数量?