char转换为int

时间:2015-08-17 13:24:15

标签: java char int

所以我有这样的事情:

char cr = "9783815820865".charAt(0);
System.out.println(cr);   //prints out 9

如果我这样做:

 int cr = "9783815820865".charAt(0);
 System.out.println(cr);   //prints out 57

我知道char和int之间的转换不仅仅是从'9'9。我的问题是现在我只需要保留9作为int值,而不是57.如何将值9而不是57作为int类型?

3 个答案:

答案 0 :(得分:7)

您可以尝试:

int cr = "9783815820865".charAt(0) - '0';

charAt(0)将返回'9'(作为char),这是一种数字类型。从这个值我们只需减去'0'的值,它再次是数字,并且正好是ASCII表中'9'字符条目后面的九个条目。

因此,在幕后,减法将使用'9''0'的ASCII码,这意味着将计算57 - 48

答案 1 :(得分:5)

试试这个:

char c = "9783815820865".charAt(0);
int cr = Integer.parseInt(c+"");

答案 2 :(得分:0)

使用Character#getNumericValue可能更具惯用性。请记住,它会将'A'以上的任何内容转换为10。

int cr = Character.getNumericValue("9783815820865".charAt(0));
System.out.println(cr);