スポンサードリンク

【Java】文字列の数字を数値に変換

「"あいうえお"」などの文字列を持つStrign型の変数値を、int型の変数に代入することはできません。

なぜなら、int型は整数を扱うデータ型だからです。なので「"あいうえお"」などという文字列の代入なんて絶対できません。

しかし、以下のような数字の文字列を持つString型の変数値だけは、数値に変換でき、int型の変数に代入できます。

String str = "123";

1.String型の変数値(数字)をint型の変数に代入する

では実際に確認してみましょう。

「Lesson016.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson016{
	public static void main(String args[]){
		//変数宣言
		int i = 0;
		String str = "123";
		//int型変数「i」にString型変数「str」を代入
		i = str;
		//変数iを出力
		System.out.println(i);
	}
}

そして以下のように「javac Lesson016.java」でコンパイルし、「java Lesson016」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson016.java
Lesson016.java:6: エラー: 互換性のない型
i = str;
^
期待値: int
検出値: String
エラー1個

コンパイルエラー!?できないぞ!!!!なぜ?

確かにString型の変数「str」は「123」という数字を持っていますが、これはあくまでも文字データとしての「123」であって、数値データとしての「123」ではありません。

そのため、String型の「123」をint型に代入するには、それを数値データに変換する必要があります。

【ポイント】
String型の数字は、パッとみ数値に見えますが、文字列(単なる数字の羅列)です。

2.文字列を数値に変換

String型の文字列(数字)を数値に変換するためには、上記のプログラムの6行目を以下にするだけです。

i = Integer.parseInt(str);

すなわち「Integer.parseInt( )」を用いるだけです。

では実際にやってみましょう。

「Lesson017.java」というファイルを作成し、以下のJavaプログラムを入力・保存してください。

public class Lesson017{
	public static void main(String args[]){
		//変数宣言
		int i = 0;
		String str = "123";
		//String型変数「str」を数値に変換して代入
		i = Integer.parseInt(str);
		//変数iを出力
		System.out.println(i);
	}
}

そして以下のように「javac Lesson017.java」でコンパイルし、「java Lesson017」で実行してください。

C:\Users\ysk\Desktop\java>javac Lesson017.java

C:\Users\ysk\Desktop\java>java Lesson017
123

確かに、文字列(String型)の数字が数値に変換され、int型の変数に代入されていることがわかります。

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント