0

質問を単純にするために、いくつかの文字をintに変換するにはどうすればよいですか?これを想定しましょう:

char c1 = '1';
char c2 = '4';
char c3 = '5';

145タイプintを取得する効率的な方法は何でしょうか。

4

5 に答える 5

6
int myInt = Integer.parseInt(""+c1+c2+c3);

""+c1文字とc1を追加するcharを含む文字列を提供します。次に、それを整数に変換するために使用します。c2c3parseInt()

より簡単な(ただし堅牢性が低い)方法は次のとおりです。

int myInt = 100*(c1-'0') + 10*(c2-'0') + (c3-'0');

c1-'0'c1文字コードではなく、で表される番号を示します。次に、物事を正しい小数点以下の桁数にシフトして追加します。

于 2012-04-18T22:03:45.323 に答える
3
int myInt = (c1 - '0') * 100 + (c2 - '0') * 10 + (c3 - '0');
于 2012-04-18T22:07:52.967 に答える
3

char配列をintに変換するより一般的な方法は次のとおりです。

int valueOf(char[] input){
  int result = 0;
  for(char c : input) {
    result *= 10;
    result += Character.digit(c, 10);
  }
  return result;
}
于 2012-04-18T22:08:45.990 に答える
1

1桁の文字をに変換する最も正しい方法intはですCharacter.digit(char ch, int radix)。これは10以外のベースの値を処理できます。

于 2012-04-18T22:07:44.977 に答える
1

文字列は最終的に によってサポートされるchar[]ため、次のことができます。

char c1 = '1';
char c2 = '4';
char c3 = '5';
int converted = Integer.parseInt(new String(new char[]{c1, c2, c3}));

これを行うには、おそらく他にもいくつかの完全に良い方法があります。

于 2012-04-18T22:10:57.623 に答える