digitToInt

Returns the numeric value of the decimal digit that this Char represents. Throws an exception 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

1.5

Samples

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(source)

Returns the numeric value of the digit that this Char represents in the specified radix. Throws an exception if the radix is not in the range 2..36 or if this Char is not a valid digit in the specified radix.

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.

  • The Char is one of the fullwidth Latin capital letters '\uFF21' through '\uFF3A' and its code is less than radix + 0xFF21 - 10. In this case, this.code - 0xFF21 + 10 is returned.

  • The Char is one of the fullwidth Latin small letters '\uFF41' through '\uFF5A' and its code is less than radix + 0xFF41 - 10. In this case, this.code - 0xFF41 + 10 is returned.

Since Kotlin

1.5

Samples

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
}