我學習JAVA,最近我有一些培訓任務,同樣的問題。款待八進制數的小數
我有一些數字,其中一些是從0開始。我發現這些數字是八進制的,這意味着它不會是我想要的數字或它給我一個錯誤(因爲「8」或「9」,因爲他們不是八進制數字)後,我讀它作爲一個int或長...
到現在爲止,我只需要使用兩位數字像14或05. 我把它們當作字符串並將它們轉換爲一個函數,檢查所有的字符串數字並將它們轉換爲像這樣的數字
String numStr = "02";
if(numStr.startsWith("0")) {
int num = getNumericValue(numStr.charAt(1));
} else {
int num = Integer.parseInt(numStr);
}
現在我有一個未知的l數字未知的數字(所以可能超過2)。我知道,如果我想我可以使用循環和.substring()
,但必須有一個更簡單的方法。
有沒有辦法簡單地忽略零不知何故?
編輯:
直到現在我總是編輯我有是字符串的工作,因爲我無法找到解決問題的一個更簡單的方法的數字。當我有0010 27 09
我不得不宣佈它像:
String[] numbers = {"0010", "27", "09"};
因爲如果我聲明它是這樣的:
int[] numbers = {0010, 27, 09};
號碼[0]將是8,而不是10號[2]會給我一個錯誤
其實我不想使用字符串。我真正想要的是讀取以零開頭的數字作爲數字(例如:int或long),但我希望它們是十進制的。問題是我有很多來自數據源的數字。我將它們複製到代碼中,並將其編輯爲數組的聲明。但我不想將它們編輯爲字符串,只是刪除零並重新編號。
' 「numStr」 .charAt(1)''是'u''。而'Integer.parseInt(「numStr」)'將因'NumberFormatException'失敗,因爲'「numStr」'不是一個數字。 –
您可以請張貼/示例輸入和輸出? –
可能是脫離主題,但你已經使用雙引號內的字符串變量。它應該只是numStr而不是「numStr」。解析和獲取角色。 – iMan