所以,由于缺少像Long这样的方法。valueOf(字符串s)我卡住了。
如何将字符串转换为长在Kotlin?
所以,由于缺少像Long这样的方法。valueOf(字符串s)我卡住了。
如何将字符串转换为长在Kotlin?
当前回答
在Kotlin中,将String转换为Long(表示64位有符号整数)很简单。
你可以用下面的例子:
val number1: Long = "789".toLong()
println(number1) // 789
val number2: Long? = "404".toLongOrNull()
println("number = $number2") // number = 404
val number3: Long? = "Error404".toLongOrNull()
println("number = $number3") // number = null
val number4: Long? = "111".toLongOrNull(2) // binary
println("numberWithRadix(2) = $number4") // numberWithRadix(2) = 7
使用toLongOrNull()方法,可以在?之后使用let{}作用域函数。安全呼叫接线员。
这种逻辑适用于只使用非空值执行代码块。
fun convertToLong(that: String) {
that.toLongOrNull()?.let {
println("Long value is $it")
}
}
convertToLong("123") // Long value is 123
其他回答
实际上,90%的情况下你还需要检查long是否有效,所以你需要:
"10".toLongOrNull()
有一个'orNull'等效的每个'toLong'的基本类型,这些允许管理无效的情况与Kotlin?习语。
string可以使用扩展方法将它们解析为其他基本类型。在下面的例子:
“真正的”toBoolean()。 “10 . 0”toFloat()。 “10 . 0”toDouble()。 “10”toByte(。) “10”toShort(。) “10”toInt(。) “10”请(。)
在Kotlin中,将String转换为Long(表示64位有符号整数)很简单。
你可以用下面的例子:
val number1: Long = "789".toLong()
println(number1) // 789
val number2: Long? = "404".toLongOrNull()
println("number = $number2") // number = 404
val number3: Long? = "Error404".toLongOrNull()
println("number = $number3") // number = null
val number4: Long? = "111".toLongOrNull(2) // binary
println("numberWithRadix(2) = $number4") // numberWithRadix(2) = 7
使用toLongOrNull()方法,可以在?之后使用let{}作用域函数。安全呼叫接线员。
这种逻辑适用于只使用非空值执行代码块。
fun convertToLong(that: String) {
that.toLongOrNull()?.let {
println("Long value is $it")
}
}
convertToLong("123") // Long value is 123
1. 弦请()。
将字符串解析为[Long]数字并返回结果。 如果字符串无效,则@抛出NumberFormatException 数字的表示。
2. 弦toLongOrNull()。
将字符串解析为[Long]数字,并返回结果或null 如果字符串不是数字的有效表示。
3. str.toLong(10)
将字符串解析为[Long]数字并返回结果。 如果字符串无效,则@抛出NumberFormatException 数字的表示。 @抛出IllegalArgumentException [基数]不是字符串到数字转换的有效基数。
public inline fun String.toLong(radix: Int): Long = java.lang.Long.parseLong(this, checkRadix(radix))
4. string.toLongOrNull(10)
将字符串解析为[Long]数字,并返回结果或null 如果字符串不是数字的有效表示。 当[基数]不是一个有效的基数时,@抛出IllegalArgumentException 到数字转换。
public fun String.toLongOrNull(radix: Int): Long? {...}
5. java.lang.Long.valueOf(字符串)
public static Long valueOf(String s) throws NumberFormatException
String有相应的扩展方法:
"10".toLong()