kotlin - 类型不匹配:推断类型为 Double 但预期为 Float(顺便使用 Kotlin)
问题描述
问题:所以,显然 3.0 可以被认为是一个浮点数。但出于某种原因,Kotlin 将其视为双重。这对我来说毫无意义。有人能告诉我为什么 Kotlin 将数字 3.0 视为双精度数,而不是浮点数吗?谢谢!
fun main(){
val num = 3.0
random(num)
}
fun random(num: Float){
print(num)
}
注意 这是我使用的在线 IDE。 https://developer.android.com/training/kotlinplayground
解决方案
因为您没有键入注释它。
Double
是一个双精度浮点数。(64位)Float
是一个单精度浮点数。(32位)
默认是第一个,因为由于精度不足,您可能会发现较少的意外错误。
您可以指定3.0F
,3.0f
以使其成为浮点数
,或者 val number: Float = 3.0
还应提示编译器您要处理 32 位浮点数
推荐阅读
- angular - 在 Angular httpclient 拦截器中处理取消的 http 请求
- java - 泛型数据类型创建是未经检查或不安全的操作
- python - itertools 中的 grouper() 示例
- jquery - 在 jQuery 中,如何找到包含特定文本的单元格的行?
- python - 如果我使用 swig,我是否必须构建多个链接的 .so/.dll 与我想支持的每个 python 版本?
- python-3.x - 为什么我的矩阵完成程序在训练时,训练集上的 RMSE 会下降,而测试集上的 RMSE 会上升?
- tensorflow-lite - 模型转换时如何更改批量大小?
- python - 通过pywin32读取进程内存给出不正确的结果
- css - 为什么文本对齐会影响子 div,但不会影响字体大小?
- r - 如何将点添加到 freqpoly 图?