当前位置: 首页 > 知识库问答 >
问题:

如何在 kotlin 中使用 parseInt?

冯浩旷
2023-03-14

我开玩笑地增加,减少物品数量。我想算数。文本加上“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)
    }


共有2个答案

茅星雨
2023-03-14

你可以使用这些

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?
晁英彦
2023-03-14

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 的尝试/捕获)

 类似资料:
  • [{“id”:1,“first_name”:“Lillis”,“last_name”:“Hawgood”,“cars”:[{“item”:“Savana 1500”},{“item”:“Vibe”},{“item”:“Estate”}]}] 数据类MyData(val id:Int=0,val first_name:String=“”,val last_name:String=“”,val car

  • 我找到了一个符合我目的的图书馆,但它是写在Kotlin上的。我可以在Java项目中使用它吗? 框架:https://github.com/mpetlyuk/initial_tips Kotlin上的用法:

  • 如何在Kotlin中使用小于(<)或大于(>)运算符? 提前致谢

  • E:/home/example/documents/gradle-com.example.hello-plugin/src/main/kotlin/com/example/helloplugin.kt:(11,27):以下任何函数都不能用提供的参数调用: public抽象fun register(P0:String,p1:Class,vararg p2:any!):在org.gradle.api.

  • 我在ViewModel类中使用这个函数来创建LiveData包装的ArrayList: 提前感谢!

  • 让我们假设我在科特林有一门课,如下所示 此外,让我们定义一个内插函数生成电子邮件域,它基于给定域的名称生成电子邮件地址 现在,正如有人说Kotlin是100%可与Java互操作的,我如何在Java类中使用这个中缀函数? 上面使用infix可能不合适,但我想知道如何在Java中使用。 如果我的理解有误,请纠正。