digitToIntOrNull
fun Char.digitToIntOrNull(): Int?
Возвращает числовое значение десятичной цифры, представленной этим символом Char, или null если этот символ Char не является допустимой десятичной цифрой.
Символ Char считается представляющим десятичную цифру, если для него истинно isDigit. В этом случае возвращается значение Unicode десятичной цифры символа.
import java.util.*
import kotlin.test.*
fun main(args: Array<String>) {
//sampleStart
println('5'.digitToIntOrNull()) // 5
println('3'.digitToIntOrNull(radix = 8)) // 3
println('A'.digitToIntOrNull(radix = 16)) // 10
println('K'.digitToIntOrNull(radix = 36)) // 20
// radix argument should be in 2..36
// '0'.digitToIntOrNull(radix = 1) // will fail
// '1'.digitToIntOrNull(radix = 100) // will fail
// only 0 and 1 digits are valid for binary numbers
println('5'.digitToIntOrNull(radix = 2)) // null
// radix = 10 is used by default
println('A'.digitToIntOrNull()) // null
// symbol '+' is not a digit in any radix
println('+'.digitToIntOrNull()) // null
// Only Latin letters are valid for digits greater than 9.
println('β'.digitToIntOrNull(radix = 36)) // null
//sampleEnd
}fun Char.digitToIntOrNull(radix: Int): Int?
Возвращает числовое значение цифры, представленной этим символом Char в указанном основании, или null если этот символ Char не является допустимой цифрой в указанном основании. Бросает исключение, если основание не находится в диапазоне 2..36.
Символ Char считается представляющим цифру в указанном основании, если выполняется хотя бы одно из следующих условий:
-
isDigit имеет значение
trueдля символа Char и значение 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(args: Array<String>) {
//sampleStart
println('5'.digitToIntOrNull()) // 5
println('3'.digitToIntOrNull(radix = 8)) // 3
println('A'.digitToIntOrNull(radix = 16)) // 10
println('K'.digitToIntOrNull(radix = 36)) // 20
// radix argument should be in 2..36
// '0'.digitToIntOrNull(radix = 1) // will fail
// '1'.digitToIntOrNull(radix = 100) // will fail
// only 0 and 1 digits are valid for binary numbers
println('5'.digitToIntOrNull(radix = 2)) // null
// radix = 10 is used by default
println('A'.digitToIntOrNull()) // null
// symbol '+' is not a digit in any radix
println('+'.digitToIntOrNull()) // null
// Only Latin letters are valid for digits greater than 9.
println('β'.digitToIntOrNull(radix = 36)) // null
//sampleEnd
}
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/digit-to-int-or-null.html