我有一段這樣的代碼......如何獲取字符值?
char c = 'a';
當我問Character.getNumericValue(c)
,它給10
作爲輸出。
我怎樣才能交換這個問題,使10
是輸入和a
是輸出?
我有一段這樣的代碼......如何獲取字符值?
char c = 'a';
當我問Character.getNumericValue(c)
,它給10
作爲輸出。
我怎樣才能交換這個問題,使10
是輸入和a
是輸出?
一定要明白,在您的示例10
不是ASCII碼但a
作爲一個十六進制數字的值(或者說,數字的任何基地大於10)。要反轉:
char c = Character.forDigit(10, 16);
您可以通過查看API文檔中的「另請參閱」部分找到該部分。
你可以試試:
int i = 97;
char c = (char) i; //should yield 'a';
System.out.println("Integer " + i + " = Character " + c);
//outputs: "Integer 10 = Character a"
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 + "]");
嗯...不。它沒有。 – 2011-04-21 15:46:20
@Michael,你是什麼意思? – Neal 2011-04-21 15:46:43
我的意思是這是完全錯誤的。 'a'的char/ASCII值是97,而不是10. – 2011-04-21 15:50:10