如何将String转换为Int和Long?

时间:2017-11-08 11:33:38

标签: kotlin kotlin-android-extensions

Java我们使用

Integer.valueOf(str)

Long.valueOf(str)

获取integer,但我们如何在Kotlin中执行相同操作?

5 个答案:

答案 0 :(得分:7)

您可以使用toInttoLong和类似的转换扩展程序。

例如:

val i: Int = str.toInt()
val l: Long = str.toLong()

还有toIntOrNull等,以防您的字符串可能不是有效数字:

val i: Int? = str.toIntOrNull()

答案 1 :(得分:1)

Kotlin具有String类的扩展方法,它们可以做得更好但更优雅。

str.toInt()
str.toLong()

请注意,您也可以自己编写extension methods

答案 2 :(得分:1)

Kotlin在extension中定义StringNumberConversions.kt函数,如toInttoLong等。这些函数在内部调用标准java函数,如 java.lang.Integer.parseInt(...)java.lang.Long.parseLong(...)

您可以使用它们:

"123".toInt()
"123".toLong()

答案 3 :(得分:1)

这些是可用于Strings在KOTLIN中解析的扩展方法:

    str.toBoolean()
    str.toInt()
    str.toLong()
    str.toFloat()
    str.toDouble()
    str.toByte()
    str.toShort()

答案 4 :(得分:0)

最好

val str = ""
val quotaInteger = str.toDouble().toInt()

cos有时会像“ 123.22”一样给我们,如果我们使用toInt(),它将抛出NumberFormatException