digit To Int
Начиная с Kotlin: 1.5
fun Char.digitToInt(): Int
Возвращает числовое значение десятичной цифры, которую представляет этот Char. Выбрасывает исключение, если этот Char не является допустимой десятичной цифрой.
Считается, что Char представляет десятичную цифру, если для этого Char isDigit возвращает true. В этом случае возвращается значение десятичной цифры символа в Unicode.
Примеры
import java.util.*
import kotlin.test.*
fun main() {
//sampleStart
println('5'.digitToInt()) // 5
println('3'.digitToInt(radix = 8)) // 3
println('A'.digitToInt(radix = 16)) // 10
println('k'.digitToInt(radix = 36)) // 20
// radix argument should be in 2..36
// '0'.digitToInt(radix = 1) // will fail
// '1'.digitToInt(radix = 100) // will fail
// only 0 and 1 digits are valid for binary numbers
// '5'.digitToInt(radix = 2) // will fail
// radix = 10 is used by default
// 'A'.digitToInt() // will fail
// symbol '+' is not a digit in any radix
// '+'.digitToInt() // will fail
// Only Latin letters are valid for digits greater than 9.
// 'β'.digitToInt(radix = 36) // will fail
//sampleEnd
}
fun Char.digitToInt(radix: Int): Int
Возвращает числовое значение цифры, которую этот Char представляет в указанном основании системы счисления. Выбрасывает исключение, если основание системы счисления не входит в диапазон 2..36 или если этот Char не является допустимой цифрой в указанном основании системы счисления.
Считается, что Char представляет цифру в указанном основании системы счисления, если выполняется хотя бы одно из следующих условий:
Для этого Char isDigit имеет значение
true, а значение десятичной цифры символа в Unicode меньше указанного основания системы счисления. В этом случае возвращается значение десятичной цифры.Char является одной из заглавных латинских букв от 'A' до 'Z', а его код меньше
radix + 'A'.code - 10. В этом случае возвращаетсяthis.code - 'A'.code + 10.Char является одной из строчных латинских букв от 'a' до 'z', а его код меньше
radix + 'a'.code - 10. В этом случае возвращаетсяthis.code - 'a'.code + 10.Char является одной из полноширинных заглавных латинских букв от '\uFF21' до '\uFF3A', а его код меньше
radix + 0xFF21 - 10. В этом случае возвращаетсяthis.code - 0xFF21 + 10.Char является одной из полноширинных строчных латинских букв от '\uFF41' до '\uFF5A', а его код меньше
radix + 0xFF41 - 10. В этом случае возвращаетсяthis.code - 0xFF41 + 10.
Примеры
import java.util.*
import kotlin.test.*
fun main() {
//sampleStart
println('5'.digitToInt()) // 5
println('3'.digitToInt(radix = 8)) // 3
println('A'.digitToInt(radix = 16)) // 10
println('k'.digitToInt(radix = 36)) // 20
// radix argument should be in 2..36
// '0'.digitToInt(radix = 1) // will fail
// '1'.digitToInt(radix = 100) // will fail
// only 0 and 1 digits are valid for binary numbers
// '5'.digitToInt(radix = 2) // will fail
// radix = 10 is used by default
// 'A'.digitToInt() // will fail
// symbol '+' is not a digit in any radix
// '+'.digitToInt() // will fail
// Only Latin letters are valid for digits greater than 9.
// 'β'.digitToInt(radix = 36) // will fail
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/digit-to-int.html