幫助我如何能得到例如整數codeInt = 082從字符串代碼=「A082」 我已經試過這樣:需要與parseInt函數
int codeInt = Integer.parseInt(code.substring(1,4));
,我也得到codeInt = 82,離開第一0但我想要完整的代碼'082'。
我想到parseInt(String s, int radix)
但我不知道如何。
任何幫助將不勝感激。
謝謝。
幫助我如何能得到例如整數codeInt = 082從字符串代碼=「A082」 我已經試過這樣:需要與parseInt函數
int codeInt = Integer.parseInt(code.substring(1,4));
,我也得到codeInt = 82,離開第一0但我想要完整的代碼'082'。
我想到parseInt(String s, int radix)
但我不知道如何。
任何幫助將不勝感激。
謝謝。
一個整數只是存儲一個數字。數字82和082(以及0082和000000082)完全相同(除非您以某種語言將它們放入源代碼中,那麼您將得到編譯器錯誤)。
如果你非常需要前導零,那麼你應該把它作爲一個字符串,或者適當地格式化數字以便稍後輸出。
由於具有巧妙想法,與前面的零寫入八進制常數將降溫的C設計師。好像0o123
這樣的東西本來難以實現,一旦你已經有0xf00
...
如果你想要0000123
那麼你需要威脅變量作爲一個字符串,而不是整數。簡單地說:123
等於000123
和0123
和0000...1 billion zeros here...000123
。
但是,如果你只是想顯示一個固定長度的數字,然後使用System.out.format()
。
的數82
和082
和0082
在數學上是相同的編號,並且由位的相同序列來表示。您不能在int
中編碼前導零的數量(儘管您可以使用任意格式打印它)。
還要注意數082
距離爪哇字面082
,它爲一種(無效的)不同的八進制文字。
int i = 010;
System.out.println(i); // this prints 8
082不是整數。它是一個表示整數82的字符串。如果您需要保持前導零不變,則需要使用字符串。如果您只需要打印082,則可以使用java.text.MessageFormat
或System.out.format()
或其他類似的解決方案以這種方式進行打印。
+1 - 你說過哥們! – RubyDubee 2010-03-13 15:17:40
@Mona - 正如托馬斯所說,你將不得不使用字符串,因爲082不是一個整數/八進制。 – RubyDubee 2010-03-13 15:18:50