如何在Java中将char转换为int?

2022-08-31 13:32:35

(我是Java编程的新手)

例如,我有:

char x = '9';

我需要在撇号中获取数字,数字9本身。我试图做以下事情,

char x = 9;
int y = (int)(x);

但它不起作用。

那么我该怎么做才能获得撇号中的数字呢?


答案 1

ASCII 表的排列方式使字符的值比 ;字符的值大于 ;等等。'9''0''8''0'

因此,您可以通过减去 来获得十进制数字字符的int值。'0'

char x = '9';
int y = x - '0'; // gives the int value 9

答案 2

我有,它将存储其ASCII代码,因此要获取int值,您有2种方式char '9'

char x = '9';
int y = Character.getNumericValue(x);   //use a existing function
System.out.println(y + " " + (y + 1));  // 9  10

char x = '9';
int y = x - '0';                        // substract '0' code to get the difference
System.out.println(y + " " + (y + 1));  // 9  10

事实上,这也有效:

char x = 9;
System.out.println(">" + x + "<");     //>  < prints a horizontal tab
int y = (int) x;
System.out.println(y + " " + (y + 1)); //9 10

您存储代码,它对应于一个(您可以在打印时看到,bu您也可以使用它,如上所示9horizontal tabStringint