如何将数字Char(0-9)转换为其数值?

时间:2017-12-08 11:35:47

标签: kotlin

Char.toInt()返回字符的ASCII码,而不是其数值。那么如何将Char转换为具有正确数值的整数呢?

2 个答案:

答案 0 :(得分:4)

答案:

您可以在Char类上创建一个扩展,该扩展从toInt()返回的ASCII代码中减去48。这将为您提供角色的正确数值!

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

答案 1 :(得分:1)

您也可以将其转换为String,然后使用toInt(),这可能更明显。

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