Kotlin字符串转换为整数或零(默认值)

5

我该如何在Kotlin中将String转换为Int,如果无法转换,则返回0(默认值)。


7
可能是如何在Kotlin中将字符串转换为整数?的重复问题。 - user2340612
这个问题并没有涉及如何设置默认值,而这正是这个问题的重点。虽然已经在答案中有所涉及,但我认为这可以帮助一些人。我不认为它是一个重复的问题,但如果更多的人标记它,那么我将删除这篇文章。 - solaza
我标记你的问题是因为它已经被另一个回答覆盖了,就像你所说的那样。让我们让社区来决定吧 :) - user2340612
2个回答

9
我认为最好的解决方案是说明值是Int,并使用Elvis运算符将值0赋值给无法转换的情况。
val a:String="22"
val b:Int = a.toIntOrNull()?:0//22
val c:String="a"
val d:Int = c.toIntOrNull()?:0//0

7
为了让代码更加简明,您可以创建扩展函数。请参见Kotlin官方文档
fun String?.toIntOrDefault(default: Int = 0): Int {
    return this?.toIntOrNull()?:default
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接