char转换为int

OPK*_*OPK 1 java int char

所以我有这样的事情:

char cr = "9783815820865".charAt(0);
System.out.println(cr);   //prints out 9
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

 int cr = "9783815820865".charAt(0);
 System.out.println(cr);   //prints out 57
Run Code Online (Sandbox Code Playgroud)

据我所知,焦炭和INT之间的转换不是简单地从'9'9.我的问题是现在我只需要保持9作为int值,而不是57.如何获得值9而不是57作为int类型?

Kon*_*kov 7

您可以尝试:

int cr = "9783815820865".charAt(0) - '0';
Run Code Online (Sandbox Code Playgroud)

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

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


eya*_*nna 5

试试这个:

char c = "9783815820865".charAt(0);
int cr = Integer.parseInt(c+"");
Run Code Online (Sandbox Code Playgroud)