簡體   English   中英

Java String到int二進制數的轉換

[英]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。 我如何在不丟失左側零的情況下將用戶輸入轉換為數字?

如果00111111不同,則無法將其存儲為整數,則需要將它們存儲為字符串。

但是請注意,即使是二進制形式,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM