Вы не можете преобразовать String
в Float
и наоборот. У них несовместимые классы среды выполнения. 1.5F.asInstanceOf[String]
и "1.5F".asInstanceOf[Float]
терпят неудачу с java.lang.ClassCastException
.
Вы можете преобразовать String
в Float
и наоборот следующим образом
assert("1.5".toFloat == 1.5F)
assert("1.5F".toFloat == 1.5F)
assert(1.5F.toString == "1.5")
Если String
не может быть проанализирован в Float
, вы получите java.lang.NumberFormatException
.
Скорее всего, java.lang.ClassCastException
означает, что проблема связана с deviceVal.asInstanceOf[String]
. Возможно, deviceVal
не является String
и не может быть преобразован в String
. Вы можете преобразовать deviceVal
(что бы это ни было) в String
как deviceVal.toString
.