我試圖將字符串值轉換爲整數,但是每當我這樣做時,它都會給出字符的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