将几个字符转换为int

时间:2012-04-18 22:02:17

标签: java

如何将几个字符转换为int,为了使问题保持​​简单,我们假设:

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

获得145类型int的有效方法是什么。

5 个答案:

答案 0 :(得分:6)

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

""+c1为您提供一个包含字符c1的字符串,您追加字符c2c3。然后使用parseInt()将其转换为整数。

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

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

c1-'0'为您提供c1代表的数字,而不是字符代码。然后你只需将事物移动到正确的小数位并添加。

答案 1 :(得分:3)

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

答案 2 :(得分:3)

这是将char数组转换为int的更通用的方法:

int valueOf(char[] input){
  int result = 0;
  for(char c : input) {
    result *= 10;
    result += Character.digit(c, 10);
  }
  return result;
}

答案 3 :(得分:1)

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

答案 4 :(得分:1)

字符串最终由char[]支持,因此您可以执行以下操作:

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

可能有其他几种非常好的方法可以做到这一点。