为什么我无法将以下字符串转换为长整型?我正在尝试在Scala中完成此操作。
var a = "153978017952566571852"
val b = a.toLong
当我尝试转换它时,我收到了NumberFormatException(数字格式异常)
为什么我无法将以下字符串转换为长整型?我正在尝试在Scala中完成此操作。
var a = "153978017952566571852"
val b = a.toLong
当我尝试转换它时,我收到了NumberFormatException(数字格式异常)
因为该数字超出了长整型的限制范围,长整型的范围从-9223372036854775808到9223372036854775807,最多只能有19位数字,而您的字符串包含21个数字。
如果您不需要精确值,可以将其转换为浮点型或双精度型:
scala> val b = a.toFloat
b: Float = 1.5397802E20
scala> val b = a.toDouble
b: Double = 1.5397801795256658E20
BigInt("153978017952566571852")
。 - Seth Tisue