📅  最后修改于: 2023-12-03 14:42:56.708000             🧑  作者: Mango
在Java中,字符是用Unicode编码表示的,每个字符都有一个对应的数字值。字符类中提供了许多方法用于处理字符,其中一个方法是digit()
方法,该方法可以将字符转换为对应的数值。
字符类的digit()
方法有两种定义:
public static int digit(char ch, int radix)
public static int digit(int codePoint, int radix)
这两个方法的作用是一样的,只是参数不同。第一个方法的参数是一个char
类型的字符和一个基数(进制数),第二个方法的参数是一个Unicode代码点和一个基数。
ch
- 要转换为数字的字符。codePoint
- 要转换为数字的Unicode代码点。radix
- 基数,必须在2到36之间。如果ch
或codePoint
表示的字符不属于给定基数中的字符集,则返回-1。否则,返回该字符的数值,如果它是一个无效的数字则返回-1。
下面是使用digit()
方法将字符转换为对应的数值的示例代码:
public class DigitExample {
public static void main(String[] args) {
char ch1 = '9';
char ch2 = 'A';
int codePoint1 = 97; // Unicode代码点表示小写字母a
int digit1 = Character.digit(ch1, 10); // 将'9'转换为十进制数9
int digit2 = Character.digit(ch2, 16); // 将'A'转换为十六进制数10
int digit3 = Character.digit(codePoint1, 36); // 将'97'转换为三十六进制数33
System.out.println(digit1);
System.out.println(digit2);
System.out.println(digit3);
}
}
运行以上代码将输出:
9
10
33
上述示例中,我们使用digit()
方法将字符'9'
转换为十进制数9
,字符'A'
转换为十六进制数10
,Unicode代码点表示的字符'a'
转换为三十六进制数33
。