Kotlin Неправильное значение строки в Int - PullRequest
1 голос
/ 04 марта 2020

Это мой код:

fun main(){
  val str = "123"
  println(str.toInt()) // 123
  println(str[1].toInt()) // 50 ???
}

Я хочу номер 2. Но это результат № 50.

Мне не нужен код ASCII.

Как я могу получить решение?

Ответы [ 2 ]

3 голосов
/ 04 марта 2020

Если вы хотите получить второй символ в String, вы можете сделать

println(str[1])

И если вы хотите преобразовать второй символ в Int, то вам нужно сделать

println(str[1].toString().toInt())

Обратите внимание, что toInt () может бросить NumberFormatException.

1 голос
/ 04 марта 2020

Значение ASCII символа '2' равно 50 (десятичное). Похоже, вы хотите, чтобы операция подстроки получала строку «2» (или «23»?), А не индексирование символов, которое получает символ «2».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...