考虑代码示例:
val contentLength :Long? = 1
val float = contentLength?.toFloat()
val any = (float ?: 0) * 1.25
// ^
// compilation error here
如果我尝试像这样提取变量herem:
val casted = (float ?: 0)
IDE 显示 casted
的类型为 Any
。为什么会发生这种情况?如何从浮点引用获取空安全浮点值并将其乘以另一个浮点值?
已更新
将 0
替换为 0.0
:
(float ?: 0.0)
没有效果。 :(
最佳答案
换行
val any = (float ?: 0.0) * 1.25
至
val any = (float ?: 0.0f) * 1.25f
否则你混合使用double
和float
会导致编译错误
关于casting - kotlin中如何乘以nullsafe float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46447341/