如何将几个字符转换为 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
为您提供一个包含 char 的 String c1
,您可以在其中附加字符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;
}
将单个数字字符转换为 an 最正确的方法int
是Character.digit(char ch, int radix)
,它可以处理除 10 以外的基数中的值。
字符串最终由 a 支持char[]
,因此您可以执行以下操作:
char c1 = '1';
char c2 = '4';
char c3 = '5';
int converted = Integer.parseInt(new String(new char[]{c1, c2, c3}));
可能还有其他几种非常好的方法可以做到这一点。