[英]Java String to int binary number conversion
我正在嘗試將用戶輸入的字符串轉換為int。 沒問題,我正在使用以下代碼:
c = sc.next();
while(!c.contains("#")){
i = Integer.parseInt(c);
input.add(c);
c= sc.next();
}
(這只是執行轉換的代碼部分,掃描儀部分正在工作)
唯一的問題是輸入是二進制數,因此當輸入為例如“ 00111”時,轉換將給我“ 111”,並且我不會丟失那些0。 我如何在不丟失左側零的情況下將用戶輸入轉換為數字?
如果00111
與111
不同,則無法將其存儲為整數,則需要將它們存儲為字符串。
但是請注意,即使是二進制形式,00111 2也等於111 2 。
要解析二進制文字並將其存儲為整數,請使用
Integer.parseInt(c, 2);
(但這並不能解決保持前導零的問題。)
您應該使用:
Integer.parseInt(c, 2)
Integer.parseInt("00111", 2);
但是您必須事先知道基數才能區分二進制(2)和十進制(10)數字。
還是我可能不理解您的問題? 您關於“丟失0”的說法有點難以理解。
要在二進制字符串s中保留前導零,請執行以下操作:
從字符串到整數:在s后面附加一個“ 1”作為前綴並轉換為整數。
從整數到字符串:將整數轉換為二進制字符串並刪除第一個“ 1”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.