2011-04-21 34 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 + "]");