web-dev-qa-db-ja.com

Javaでcharをintに変換するにはどうすればよいですか?

(Javaプログラミングが初めてです)

例えば:

char x = '9';

そして、アポストロフィの数字、9桁目を取得する必要があります。私は次のことをしようとしました、

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

しかし、うまくいきませんでした。

アポストロフィで数字を取得するにはどうすればよいですか?

18
Haim Lvov

ASCIIテーブルは、文字'9'の値が'0'の値より9大きくなるように配置されます。文字'8'の値は、'0'の値より8大きくなります。等々。

したがって、'0'を引くことにより、10進数字charのint値を取得できます。

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

char '9'がある場合、ASCIIコードを格納するので、int値を取得するには2つの方法があります

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として使用することもできます。

20
azro

Characterクラスの静的メソッドを使用して、charから数値を取得できます。

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);
}
12
2787184

文字の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);
  }

この例では、文字( 'a')があり、それを整数にキャストします。この整数を出力すると、ASCII値の「a」が得られます。

0
Amol Raje