(我是Java编程的新手)
我有例如:
char x = '9';
我需要在撇号中得到数字,数字9本身。 我试着做以下事情,
char x = 9;
int y = (int)(x);
但它不起作用。
那么我应该怎么做才能得到撇号中的数字呢?
答案 0 :(得分:50)
安排ASCII表,使得'9'
字符的值比'0'
的值大9;字符'8'
的值比'0'
的值大8;等等。
因此,您可以通过减去'0'
来获取十进制数字char的int值。
char x = '9';
int y = x - '0'; // gives the int value 9
答案 1 :(得分:17)
我有char '9'
,它会存储其ASCII码,所以要获得int值,你有两种方法
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
您存储9
代码,该代码对应于horizontal tab
(您可以在打印时看到String
,也可以将其用作int
,如您所见上述
答案 2 :(得分:9)
您可以使用Character类中的静态方法从char获取Numeric值。
char x = '9';
if (Character.isDigit(x)) { // Determines if the specified character is a digit.
int y = Character.getNumericValue(x); //Returns the int value that the
//specified Unicode character represents.
System.out.println(y);
}
答案 3 :(得分:0)
如果要获取字符的ASCII值,或者只是将其转换为int,则需要从char转换为int。
什么铸造?转换是指我们明确地从一个原始数据类型或类转换为另一个。这是一个简短的例子。
public class char_to_int
{
public static void main(String args[])
{
char myChar = 'a';
int i = (int) myChar; // cast from a char to an int
System.out.println ("ASCII value - " + i);
}
在这个例子中,我们有一个字符(&#39; a&#39;),我们将它转换为整数。打印此整数将为我们提供&#39; a&#39;。
的ASCII值