長話短說(在Java中):解析串地龍與領先的零
String input= "0888880747;
long convert = Long.parseLong(input);
轉換的值現在爲:888880747
我如何可以解析String
到long
但保留了領先零?
長話短說(在Java中):解析串地龍與領先的零
String input= "0888880747;
long convert = Long.parseLong(input);
轉換的值現在爲:888880747
我如何可以解析String
到long
但保留了領先零?
你不能因爲一個long沒有前導零。長是應該存儲integers (the mathematical concept, not int
),即
像05
字符的字符串不是整數,5
是。你可以做的是格式化一個長度爲5
的數字,當你打印它時,前面的數字爲零。 java.util.Formatter。
你確定你甚至想要一個長/整數嗎?你想用它做什麼?
謝謝。我很懷疑,但我只是想確認一下。 – Tony
A long
是一個數字值。 000001的數值與1沒有區別:它是完全相同的數字。
所以你不能找出許多前導零如何初始表示過,一旦你有一個long
。
和如果你真的關心,那麼你不應該把輸入作爲數字類型來處理,而是存儲String
本身。
如果你的值很長,那麼左邊的任何零(前導)都沒有數學價值,因此,當你進行解析時,它們會被剝離。
你得改回String
當你做你的計算上的轉換,那麼:
output = String.format("%06d", convert);
這是沒有意義的。 longs沒有前導零,只有字符串。 –
00001與1相同。前導零不起作用。 –
如果您需要前導零,您需要將其存儲在字符串中,或者在打印時將其格式化爲字符串。 – Shaded