为什么我不能将以下字符串转换为long?我想在scala中这样做.
var a = "153978017952566571852"
val b = a.toLong
Run Code Online (Sandbox Code Playgroud)
当我尝试转换它时,我得到NumberFormatException
因为该数字超过了Long Integer的限制,从-9223372036854775808到9223372036854775807,最多19位,而您的字符串包含21位数字.
如果不必确切,可以将其转换为Float或Double:
scala> val b = a.toFloat
b: Float = 1.5397802E20
scala> val b = a.toDouble
b: Double = 1.5397801795256658E20
Run Code Online (Sandbox Code Playgroud)