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

时间:2017-09-21 12:12:12

标签: java char type-conversion int

(我是Java编程的新手)

我有例如:

char x = '9';

我需要在撇号中得到数字,数字9本身。 我试着做以下事情,

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

但它不起作用。

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

4 个答案:

答案 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值