android-studio - 如何在 kotlin 中使用 parseInt?

标签 android-studio kotlin parseint

我使乐趣增加,项目数量减少。我想让 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)
    }


最佳答案

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 周围进行尝试/捕获)

关于android-studio - 如何在 kotlin 中使用 parseInt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59926580/

相关文章:

androidx.lifecycle 或 android.arch.lifecycle

android - 如何在所有其他类似Amazon的应用程序中进行一次登录

Java 输入/输出混淆

Android studio App图标距离太近

kotlin - 使用 Ktor 的 HTML 生成器时,如何将部分代码提取到 Kotlin 中的局部变量中?

Android Studio 3.1.4 Gradle 同步失败

javascript - 更简单的 ParseInt 方法

javascript - 寻找替代方法来进行 isNaN 测试

java - Android 资源链接失败(在 Google 上找不到任何专门修复此问题的内容)

android-studio - 访问被拒绝,发现属性 "persist.vendor.log.tel_dbg"