如何在Kotlin中使用parseInt?

我取笑增加,物品计数减少。我想要make count.text加“ T”字符。当我试图制作这样的代码时。 错误代码:java.lang.NumberFormatException:对于输入字符串:“ 1T” 我怎么解决这个问题?谁能帮忙?

   fun increaseInteger() {

        var count = findViewById<TextView>(R.id.integer_number)
        count.text=intent.getStringExtra("case")+"T"
        var countResult = parseInt(intent.getStringExtra("case")+"T")
        var countvalue = countResult+1
        if (countvalue >= 1 && !decrease.isEnabled) { decrease.isEnabled = true}
        intent.putExtra("result",countvalue)
        display(countvalue)
    }

    fun decreaseInteger() {

        var count = findViewById<TextView>(R.id.integer_number)
        count.text=intent.getStringExtra("case")+"T"
        var countResult = parseInt(intent.getStringExtra("case")+"T")
        var countvalue = countResult-1
        if (countvalue <= 1) {decrease.isEnabled = false }
        intent.putExtra("result",countvalue)
           display(countvalue)
    }


ii328397830 回答:如何在Kotlin中使用parseInt?

API非常简单:

"123".toInt() // returns 123 as Int
"123T".toInt() // throws NumberFormatException
"123".toIntOrNull() // returns 123 Int?
"123T".toIntOrNull() // returns null as Int?

因此,如果您知道输入可能无法解析为Int,则可以使用toIntOrNull,如果该值不可解析,则它将返回null。它允许使用该语言提供的其他可空性工具,例如:

input.toIntOrNull() ?: throw IllegalArgumentException("$input is not a valid number")

(此示例使用elvis运算符来处理toIntOrNull的空响应,替代方法是在toInt周围进行try / catch)

,

您可以使用这些

val str = "12345"
val str_new = "12345B"
str.toInt() // returns 123 as Int
str_new.toInt() // throws NumberFormatException
str.toIntOrNull() // returns 123 Int?
str_new.toIntOrNull() // returns null as Int?
本文链接:https://www.f2er.com/2707319.html

大家都在问