2011-04-21 49 views
0

我有一段这样的代码......如何获取字符值?

char c = 'a'; 

当我问Character.getNumericValue(c),它给10作为输出。

我怎样才能交换这个问题,使10是输入和a是输出?

回答

7

一定要明白,在您的示例10不是ASCII码但a作为一个十六进制数字的值(或者说,数字的任何基地大于10)。要反转:

char c = Character.forDigit(10, 16); 

您可以通过查看API文档中的“另请参阅”部分找到该部分。

-1

你可以试试:

int i = 97; 
char c = (char) i; //should yield 'a'; 

System.out.println("Integer " + i + " = Character " + c); 
//outputs: "Integer 10 = Character a" 
+0

嗯...不。它没有。 – 2011-04-21 15:46:20

+0

@Michael,你是什么意思? – Neal 2011-04-21 15:46:43

+0

我的意思是这是完全错误的。 'a'的char/ASCII值是97,而不是10. – 2011-04-21 15:50:10

-1
char c = 'a'; 
int i = 10; 

System.out.println("Character c = [" + c + "], numeric valule = [" + (int)c + "]"); 
System.out.println("int i = [" + i + "], character valule = [" + (char)i + "]");