如何将几个字符转换为int,为了使问题保持简单,我们假设:
char c1 = '1';
char c2 = '4';
char c3 = '5';
获得145
类型int的有效方法是什么。
答案 0 :(得分:6)
int myInt = Integer.parseInt(""+c1+c2+c3);
""+c1
为您提供一个包含字符c1
的字符串,您追加字符c2
和c3
。然后使用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}));
可能有其他几种非常好的方法可以做到这一点。