Javaで文字列をintに変換する方法
Javaで文字列を整数に変換するための唯一の要件は、負の「-」または正の「+」値を示す最初の文字を除いて、int型の変数に入力する数字のみが含まれている必要があることです。たとえば、"-123" の結果は数値 -123.Many はキャストされますが、Java では許可されません.
例外Cannot キャストを String から intは、Java コンパイラが String から int へのキャストを許可していないことを意味します。この 2 つは同じ型ではないため、これは理にかなっています。
Integer オブジェクト
Integer オブジェクトには int 型の属性が 1 つ含まれています。このクラスには、int を String に、String を int.
1) をインスタンス化することで、新しい Integer(String s)
このコンストラクタは、整数を含む新しいオブジェクトを割り当てます:
public class キャスト {Output:
public static voidmain(文字列[] args) {
文字列 nbs = "12";
int nb;
nb = new Integer(nbs);
System.out.println(nb);
}
}
12
2) と Integer.valueOf(String s)
valueOf() は java.lang.Integer 引数 String.
プログラムが終了しないようにするには、 フォーマットが尊重されない場合はデフォルト値を返します.
References:
Oracle.com - Integer
JRJC-文字列をint
public class Cast {Output:
public static void main(String[] args) {
String nbs = "12";
int nb;
nb = new Integer(nbs);
System.out.println(nb);
}
}
12
3) と Integer.parseInt(String s)
parseInt() は、引数が valueOf(String s).
public class Cast {Output:
public static void main(String[] args) {
String nbs = "12";
int nb;
nb = Integer.parseInt(nbs);
System.out.println(nb);
}
}
12
Exception NumberFormatException thrown
NumberFormatException は、渡された引数の形式が正しくない場合に呼び出されます。原因は次のとおりです:
- 渡された引数に数字以外の文字が少なくとも 1 つ含まれています。
- 数値が浮動小数点数のように 10 進数ではありません 12.4f.
手順の改善
public class Cast {出力:
public static void main(String[] args) {
String nbs = "12.4s";
int nb;
System.out.println(stringToInt(nbs,0));
}
public static int stringToInt(String value, int _default) {
{
return Integer.parseInt(value);
} catch (NumberFormatException e) {
return _default;
}
}
}
0変数 nbs が数値でない場合、関数 stringToInt() はデフォルトで 0 を返します。
References:
Oracle.com - Integer
JRJC-文字列をint