Linux下Kotlin二进制字符串转ULong触发NumberFormatException问题
Kotlin二进制字符串转ULong报错的解决方法
你遇到的NumberFormatException是因为默认的toULong()方法会把字符串当作十进制数解析,而你传入的是64位二进制格式的字符串,自然会识别失败。
解决方法很简单,调用带基数参数的重载方法,明确指定按二进制(基数为2)解析:
var myLargeNumber = "1111100001111100001111100001111110001111110001111110001111110001".toULong(radix = 2)
补充说明:Kotlin中所有数字类型的字符串转换方法,默认都采用十进制解析规则。处理二进制、八进制、十六进制这类非十进制字符串时,必须显式传入对应的基数参数才能正确转换。
内容的提问来源于stack exchange,提问作者Timothé
相关产品推荐
相关产品推荐

