質問を単純にするために、いくつかの文字をintに変換するにはどうすればよいですか?これを想定しましょう:
char c1 = '1';
char c2 = '4';
char c3 = '5';
145
タイプintを取得する効率的な方法は何でしょうか。
質問を単純にするために、いくつかの文字をintに変換するにはどうすればよいですか?これを想定しましょう:
char c1 = '1';
char c2 = '4';
char c3 = '5';
145
タイプintを取得する効率的な方法は何でしょうか。
int myInt = Integer.parseInt(""+c1+c2+c3);
""+c1
文字とc1
を追加するcharを含む文字列を提供します。次に、それを整数に変換するために使用します。c2
c3
parseInt()
より簡単な(ただし堅牢性が低い)方法は次のとおりです。
int myInt = 100*(c1-'0') + 10*(c2-'0') + (c3-'0');
c1-'0'
c1
文字コードではなく、で表される番号を示します。次に、物事を正しい小数点以下の桁数にシフトして追加します。
int myInt = (c1 - '0') * 100 + (c2 - '0') * 10 + (c3 - '0');
char配列をintに変換するより一般的な方法は次のとおりです。
int valueOf(char[] input){
int result = 0;
for(char c : input) {
result *= 10;
result += Character.digit(c, 10);
}
return result;
}
1桁の文字をに変換する最も正しい方法int
はですCharacter.digit(char ch, int radix)
。これは10以外のベースの値を処理できます。
文字列は最終的に によってサポートされるchar[]
ため、次のことができます。
char c1 = '1';
char c2 = '4';
char c3 = '5';
int converted = Integer.parseInt(new String(new char[]{c1, c2, c3}));
これを行うには、おそらく他にもいくつかの完全に良い方法があります。