digit To Int Or Null
Returns the numeric value of the decimal digit that this Char represents, or null
if this Char is not a valid decimal digit.
A Char is considered to represent a decimal digit if isDigit is true for the Char. In this case, the Unicode decimal digit value of the character is returned.
Since Kotlin
Samples
import samples.*
import java.util.*
import kotlin.test.*
fun main() {
//sampleStart
assertPrints('5'.digitToIntOrNull(), "5")
assertPrints('3'.digitToIntOrNull(radix = 8), "3")
assertPrints('A'.digitToIntOrNull(radix = 16), "10")
assertPrints('K'.digitToIntOrNull(radix = 36), "20")
// radix argument should be in 2..36
assertFails { '0'.digitToIntOrNull(radix = 1) }
assertFails { '1'.digitToIntOrNull(radix = 100) }
// only 0 and 1 digits are valid for binary numbers
assertPrints('5'.digitToIntOrNull(radix = 2), "null")
// radix = 10 is used by default
assertPrints('A'.digitToIntOrNull(), "null")
// symbol '+' is not a digit in any radix
assertPrints('+'.digitToIntOrNull(), "null")
// Only Latin letters are valid for digits greater than 9.
assertPrints('β'.digitToIntOrNull(radix = 36), "null")
//sampleEnd
}
Returns the numeric value of the digit that this Char represents in the specified radix, or null
if this Char is not a valid digit in the specified radix. Throws an exception if the radix is not in the range 2..36
.
A Char is considered to represent a digit in the specified radix if at least one of the following is true:
isDigit is
true
for the Char and the Unicode decimal digit value of the character is less than the specified radix. In this case the decimal digit value is returned.The Char is one of the uppercase Latin letters 'A' through 'Z' and its code is less than
radix + 'A'.code - 10
. In this case,this.code - 'A'.code + 10
is returned.The Char is one of the lowercase Latin letters 'a' through 'z' and its code is less than
radix + 'a'.code - 10
. In this case,this.code - 'a'.code + 10
is returned.
Since Kotlin
Samples
import samples.*
import java.util.*
import kotlin.test.*
fun main() {
//sampleStart
assertPrints('5'.digitToIntOrNull(), "5")
assertPrints('3'.digitToIntOrNull(radix = 8), "3")
assertPrints('A'.digitToIntOrNull(radix = 16), "10")
assertPrints('K'.digitToIntOrNull(radix = 36), "20")
// radix argument should be in 2..36
assertFails { '0'.digitToIntOrNull(radix = 1) }
assertFails { '1'.digitToIntOrNull(radix = 100) }
// only 0 and 1 digits are valid for binary numbers
assertPrints('5'.digitToIntOrNull(radix = 2), "null")
// radix = 10 is used by default
assertPrints('A'.digitToIntOrNull(), "null")
// symbol '+' is not a digit in any radix
assertPrints('+'.digitToIntOrNull(), "null")
// Only Latin letters are valid for digits greater than 9.
assertPrints('β'.digitToIntOrNull(radix = 36), "null")
//sampleEnd
}