在scala中无法将字符串转换为long

时间:2016-12-19 03:36:25

标签: scala

为什么我不能将以下字符串转换为long?我想在scala中这样做。

var a = "153978017952566571852"

val b = a.toLong  

当我尝试转换它时,我得到NumberFormatException

1 个答案:

答案 0 :(得分:9)

因为数字超过了从 -9223372036854775808到9223372036854775807 的长整数限制,最多19个数字,而你的字符串包含21位数字。

如果您不必准确,可以将其转换为 Float Double

scala> val b = a.toFloat
b: Float = 1.5397802E20

scala> val b = a.toDouble
b: Double = 1.5397801795256658E20
相关问题