如何从Java中的数字中获取字符

时间:2014-09-26 23:24:26

标签: java character

您好我想要getNumericValue的相反功能

int i = Character.getNumericValue('A');
if('A' == Character.someFunction(i)){
      System.out.println("hooray");
}

我试过" Character.forDigit"但这似乎是完全错误的。

是java的新手,请帮忙。

3 个答案:

答案 0 :(得分:2)

相反的是Character.forDigit

if(Character.forDigit(Character.getNumericValue('b'), Character.MAX_RADIX) == 'b') {
    // true!
}
if(Character.forDigit(Character.getNumericValue('B'), Character.MAX_RADIX) == 'b') {
    // true!
}


if(Character.getNumericValue('B') == Character.getNumericValue('b')) {
    // true!
}
if((int)('B') == (int)'b') {
    // false
}

虽然给出了你的问题,但我认为你正在寻找信件的实际ASCII字符代码。

阅读此Java Character literals value with getNumericValue()帖子,了解有关Character.getNumericValue

的更多信息

答案 1 :(得分:1)

要在charint之间进行转换,您可以使用类型转换。例如:

char myChar = (char) 65;
System.out.println(myChar);

将导致A。希望有所帮助!

答案 2 :(得分:0)

Character.getNumericValue('A')将'A'转换为char的unicode表示。可能你不想使用它。

  

字母A-Z的大写字母('\ u0041'到'\ u005A'),   小写('\ u0061'到'\ u007A')和全宽变体   ('\ uFF21'到'\ uFF3A'和'\ uFF41'到'\ uFF5A')表格有   数值从10到35.这与Unicode无关   规范,不为这些char分配数值   值。