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为您提供一个包含 char 的 String c1,您可以在其中附加字符c2c3. 然后你用parseInt()它来将它转换为一个整数。

一个更直接(但不太健壮)的方法是:

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

将单个数字字符转换为 an 最正确的方法intCharacter.digit(char ch, int radix),它可以处理除 10 以外的基数中的值。

于 2012-04-18T22:07:44.977 回答
1

字符串最终由 a 支持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 回答