如何将字符串解析为 Int
从edittext获取值
我的代码:
var data = input.text.toString().trim().toInt()
for (a in 0..data){
}
但是我有错误
NumberFormatException:对于输入字符串“”
答案 0 :(得分:2)
如评论中提到的Andreas,input.text.toString()。trim()的值为“”。这表明该错误在代码中的其他位置。但是,如果您希望能够在不引发异常的情况下处理这些错误,则可以使用toIntOrNull()并执行以下操作:
var data = input.text.toString().trim().toIntOrNull() ?: 0
for (a in 0..data){
//...
}
这将确保在字符串无效的情况下数据等于0。
我不确定您收到的错误为什么会说“”,因为trim()应该把它变成了“”。确定要逐字发布错误消息吗?
答案 1 :(得分:0)
您的代码正确,但是input.text.toString().trim()
的值不是Interger
确保它正确无误并按以下方式处理您的案件
var data: Int? = null
try {
data = input.text.toString().trim().toInt()
} catch (ex: NumberFormatException) {
// incorrect input
}
data?.let {
for (a in 0..data) {
// do something
}
}