(Javaプログラミングが初めてです)
例えば:
char x = '9';
そして、アポストロフィの数字、9桁目を取得する必要があります。私は次のことをしようとしました、
char x = 9;
int y = (int)(x);
しかし、うまくいきませんでした。
アポストロフィで数字を取得するにはどうすればよいですか?
ASCIIテーブルは、文字'9'
の値が'0'
の値より9大きくなるように配置されます。文字'8'
の値は、'0'
の値より8大きくなります。等々。
したがって、'0'
を引くことにより、10進数字charのint値を取得できます。
char x = '9';
int y = x - '0'; // gives the int value 9
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
として使用することもできます。
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);
}
文字の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」が得られます。