Я пытаюсь преобразовать строку в целочисленное значение в Kotlin, используя функцию toInt()
, которую я нашел в этом ответе , но вместо этого я получаю значение ascii.
Что я делаю не так?
var input = "8569 2478 0383 3437"
val regex = "[^0-9]".toRegex()
var value = regex.replace(input, "")
val iterator = value.iterator()
var sum : Int = 0
var v : Int
for((index, value) in iterator.withIndex()){
if(index % 2 == 0){
var v = value.toInt() * 2
if(v > 9) v -= 9
print("$v:$value ")
sum += v
}else{
print("$value ")
sum += value.toInt()
}
}
, выполняя этот код выше, это напечатанные цифры
103:8 5 99:6 9 91:2 4 101:7 8 87:0 3 103:8 3 93:3 4 93:3 7
, и я ожидал что-то подобное
8:8 5 6:6 9 2:2 4 7:7 8 0:0 3 8:8 3 3:3 4 3:3 7