所以我有这样的事情:
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类型?
您可以尝试:
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将被计算.
试试这个:
char c = "9783815820865".charAt(0);
int cr = Integer.parseInt(c+"");
Run Code Online (Sandbox Code Playgroud)