如何在kotlin中浮动nullsafe?

时间:2017-09-27 11:59:58

标签: casting floating-point numbers kotlin

考虑代码示例:

val contentLength :Long? = 1
val float = contentLength?.toFloat()
val any = (float ?: 0)  * 1.25
//                      ^
//           compilation error here 

如果我尝试像这样提取变量:

val casted = (float ?: 0)

IDE显示casted类型为Any。为什么会这样?如何从浮点引用中获取nullsafe浮点值并将其乘以另一个浮点值?

已更新

0替换0.0

(float ?: 0.0)

无效。 :(

1 个答案:

答案 0 :(得分:8)

更改行

val any = (float ?: 0.0) * 1.25

val any = (float ?: 0.0f) * 1.25f

否则你会混淆导致编译错误的doublefloat