我有一段这样的代码......如何获取字符值?
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