Как преобразовать цифру Char (0-9) в числовое значение?

Char.toInt() возвращает код ASCII символа, а не его числовое значение. Итак, как мне преобразовать Char в целое число с правильным числовым значением?

Вы также можете преобразовать его в String а затем использовать toInt() что может быть более очевидным.

 fun Char.getNumericValue(): Int { if (!isDigit()) { throw NumberFormatException() } return this.toString().toInt() } 

Ответ:

Вы можете создать расширение класса Char, которое вычитает 48 из кода ASCII, возвращаемого toInt() . Это даст вам правильное числовое значение персонажа!

 fun Char.getNumericValue(): Int { if (this !in '0'..'9') { throw NumberFormatException() } return this.toInt() - '0'.toInt() }