Kotlin如何实现二进制字符串转十进制Int或Long类型
Kotlin 二进制字符串转Int/Long内置转换方法
结论
Kotlin 标准库已内置对应转换方法,无需自行实现转换逻辑。
具体用法
二进制的数值基数为2,调用对应类型的转换方法时指定radix参数为2即可:
- 转换为Int类型:使用
String.toInt(2)方法 - 转换为Long类型:使用
String.toLong(2)方法
代码示例
// 无符号二进制转Int示例 val binIntStr = "1111" val intResult = binIntStr.toInt(2) // intResult 取值为 15 // 无符号二进制转Long示例 val binLongStr = "111100001111000011110000111100001111" val longResult = binLongStr.toLong(2) // longResult 取值为 1649267441615
常见场景适配
- 转换失败兼容:如果不确定输入的二进制字符串是否合法,可使用
toIntOrNull(2)、toLongOrNull(2)方法,转换失败时返回null而非抛出NumberFormatException异常 - 带
0b前缀的二进制字符串处理:需要先移除前缀再转换
val prefixedBin = "0b1001" val result = prefixedBin.removePrefix("0b").toInt(2) // result 取值为9
内容的提问来源于stack exchange,提问作者Anurag Shukla
相关产品推荐
相关产品推荐

