我试图将字符串值转换为整数,但是每当我这样做时,它都会给出字符的ASCI值,而不是实际键入的字符串。使用数组在Java中将字符串转换为Int
实施例:
有键盘上的一个用户输入“11101”来命名二进制字符串变量
for(int i = 0; i < binary.length(); i++){
storage[i] = Integer.valueOf(binary.charAt(i));
}
如果我看存储[I]的值,我将只能看到ASCI数字的值,而不是实际的1或0的方法。
我试图将字符串值转换为整数,但是每当我这样做时,它都会给出字符的ASCI值,而不是实际键入的字符串。使用数组在Java中将字符串转换为Int
实施例:
有键盘上的一个用户输入“11101”来命名二进制字符串变量
for(int i = 0; i < binary.length(); i++){
storage[i] = Integer.valueOf(binary.charAt(i));
}
如果我看存储[I]的值,我将只能看到ASCI数字的值,而不是实际的1或0的方法。
试试这个:
for(int i = 0; i < binary.length(); i++){
storage[i] = Integer.valueOf(binary.substring(i, i + 1));
}
谢谢,这对我来说非常合适。 – 2012-01-03 03:20:19
使用Integer.parseInt(str,radix)
方法。
int no=Integer.parseInt("11101",2);
//or
int no=Integer.parseInt("11101");
我从来不知道基数,非常感谢。我会从中得到很多的使用。 – 2012-01-03 03:21:04
这应该可以做到。
storage[i] = Integer.parseInt(binary.charAt(i));
除非无效输入不会失败,例如:110011911 – PlexQ 2012-01-03 03:10:40
谢谢你的例子,我实际上已经试过这个,但仍然得到了相同的结果,但是谢谢你的信息:) – 2012-01-03 03:22:52
@PlexQ没有提到验证 – 2012-01-03 03:27:36
for(int i = 0; i < binary.length(); i++){
storage[i] = Integer.parseInt(binary.charAt(i), 2);
}
另一个很好的例子,非常感谢。 – 2012-01-03 03:22:10
for(int i = 0; i < binary.length(); i++){
storage[i] = binary.charAt(i) - '0';
}
为什么?你不需要一个数组来存储一个整数。 – EJP 2013-12-03 22:59:18