You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin文本转指定数字及字符串转字符数组方法问询

嘿,这两个Kotlin的小问题我来给你捋清楚:

一、将文本转换为指定数字

Kotlin里把字符串转数字有几种常用方式,根据你要的数字类型(Int、Long、Double等)选择对应的方法就行:

  • 基础转换(会抛出异常):如果确定文本是合法的数字格式,可以直接用toInt()、toLong()、toDouble()这类方法:
val intStr = "456"
val intNum = intStr.toInt() // 得到Int类型的456

val doubleStr = "3.14"
val doubleNum = doubleStr.toDouble() // 得到Double类型的3.14
  • 安全转换(避免异常):如果文本可能不是合法数字,推荐用toIntOrNull()、toLongOrNull()这类方法,转换失败会返回null,你可以配合?:运算符设置默认值:
val invalidStr = "abc"
val safeNum = invalidStr.toIntOrNull() ?: 0 // 转换失败时返回0
  • 进制转换:如果要把其他进制的字符串转十进制数字,比如二进制、十六进制,可以给toInt()传radix参数:
val binaryStr = "1101"
val decimalNum = binaryStr.toInt(radix = 2) // 二进制转十进制,结果是13

val hexStr = "A3"
val decimalHex = hexStr.toInt(radix = 16) // 十六进制转十进制,结果是163
二、将字符串转换为字符数组(并格式化输出)

你需要的是把" Hello "转成[h][e][l][l][o]的形式,分两步来就行:

  1. 字符串转字符数组:直接用toCharArray()方法,不过先记得用trim()去掉前后的空格:
val originalStr = " Hello "
val charArray = originalStr.trim().toCharArray() // 得到字符数组['H','e','l','l','o']
  1. 格式化为你要的样式:如果需要把字符转成小写并拼接成[h][e][l][l][o],可以用joinToString()或者手动拼接:
// 方式1:用joinToString快速拼接
val formattedResult = charArray.joinToString("") { "[${it.lowercaseChar()}]" }
println(formattedResult) // 输出:[h][e][l][l][o]

// 方式2:手动构建字符串,更直观
val result = buildString {
    originalStr.trim().lowercase().forEach { append("[$it]") }
}
println(result) // 同样输出[h][e][l][l][o]

内容的提问来源于stack exchange,提问作者abdulazaez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:53:28