如何以最简单的方式将多小数点格式的数值转换为Int类型
多小数点格式字符串提取首段转Int的实现方案
核心逻辑非常简单:先按小数点分割字符串,取第一个分割片段后再执行转整型操作即可,不会触发NumberFormatException异常。
示例代码(Kotlin)
// 通用方法实现 fun multiDotStrToInt(input: String): Int { // 可选加trim()处理前后空格的异常场景 return input.trim().split(".")[0].toInt() } // 测试调用 fun main() { println(multiDotStrToInt("0.1.1.12")) // 输出 0 println(multiDotStrToInt("11.0.3.3")) // 输出 11 println(multiDotStrToInt("234")) // 无小数点场景也兼容,输出234 }
逻辑说明
- 多小数点的字符串本身不符合标准整型/浮点型的格式规范,因此直接调用
toInt()会因为格式识别失败抛出异常 split(".")操作会将字符串按小数点切分为字符串数组,取数组的第一个元素就是第一个小数点前的有效数字段- 该方案天然兼容无小数点的纯数字字符串场景,切分后数组只有1个元素,取索引0的元素转整型逻辑正常
- 如果需要处理极端异常场景(比如输入开头不是数字),可以额外加判空、正则校验逻辑,普通业务场景下上面的实现已经足够简单可用
内容的提问来源于stack exchange,提问作者Jaimin Modi
相关产品推荐
相关产品推荐

