所以,由于缺少像Long这样的方法。valueOf(字符串s)我卡住了。
如何将字符串转换为长在Kotlin?
所以,由于缺少像Long这样的方法。valueOf(字符串s)我卡住了。
如何将字符串转换为长在Kotlin?
当前回答
如果您不想在解析时处理NumberFormatException
var someLongValue=string.toLongOrNull() ?: 0
其他回答
String有相应的扩展方法:
"10".toLong()
string可以使用扩展方法将它们解析为其他基本类型。在下面的例子:
“真正的”toBoolean()。 “10 . 0”toFloat()。 “10 . 0”toDouble()。 “10”toByte(。) “10”toShort(。) “10”toInt(。) “10”请(。)
实际上,有几种方法:
考虑到:
var numberString : String = "numberString"
// number is the Long value of numberString (if any)
var defaultValue : Long = defaultValue
然后我们有:
+—————————————————————————————————————————————+——————————+———————————————————————+
| numberString is a valid number ? | true | false |
+—————————————————————————————————————————————+——————————+———————————————————————+
| numberString.toLong() | number | NumberFormatException |
+—————————————————————————————————————————————+——————————+———————————————————————+
| numberString.toLongOrNull() | number | null |
+—————————————————————————————————————————————+——————————+———————————————————————+
| numberString.toLongOrNull() ?: defaultValue | number | defaultValue |
+—————————————————————————————————————————————+——————————+———————————————————————+
这很有趣。代码如下:
val num = java.lang.Long.valueOf("2");
println(num);
println(num is kotlin.Long);
生成如下输出:
2
true
我猜,Kotlin从java.lang.Long和long原语转换到Kotlin。在这种情况下自动长。所以,这是解决方案,但我很高兴看到没有java的工具。朗包用法。
string.toLong()
其中字符串是变量。