如何将从字符串中提取的数字转换为float浮点类型
Kotlin 数字字符串转Float类型实现方法
你已经完成了从原始字符串中提取纯数字内容的步骤,直接调用Kotlin内置的字符串类型转换方法即可完成Float类型转换。
基础实现(适用场景:确认原始字符串一定包含数字)
val str = "awdafafaf123asfasf" val numStr = str.replace(Regex("[^0-9]"), "") // 字符串转Float val floatNum = numStr.toFloat() println(floatNum) // 输出结果为 123.0
安全转换实现(推荐,可适配无数字的异常场景)
如果原始字符串可能不包含任何数字,直接调用toFloat()会抛出转换异常,建议用空安全的转换方法:
val str = "awdafafaf123asfasf" val numStr = str.replace(Regex("[^0-9]"), "") // 转换失败时返回自定义默认值,示例默认值为0f val floatNum = numStr.toFloatOrNull() ?: 0f println(floatNum)
补充:适配带小数的数字提取场景
如果需要提取的数字包含小数点,可调整正则规则避免过滤小数点:
val str = "abc123.45def" // 正则保留数字和小数点 val numStr = str.replace(Regex("[^0-9.]"), "") val floatNum = numStr.toFloatOrNull() ?: 0f println(floatNum) // 输出结果为 123.45
内容的提问来源于stack exchange,提问作者CJ Rosales
相关产品推荐
相关产品推荐

