2014-09-18 46 views
2

我有一個簡單的代碼首先我用這個的Java龍parselong投擲數字格式例外

Long.parseLong(4250120140405520712) 

和它的作品,但是當我這樣做

Long.parseLong(42501201404055207123) 

它失敗。添加一個額外的數字會引起數字格式異常。有人可以請解釋

回答

3

假設你解析String s轉換long S:

的第一個作品,因爲數4250120140405520712(19位)是小於最大可能的長期價值,Long.MAX_VALUE9223372036854775807L

第二個失敗,因爲它的長度是20位數,大於9223372036854775807L

+0

我們可以使用BigInteger來表示第二個數字 – 2015-06-08 05:48:52

0

long變量只能保存最大值9223372036854775807有關更多信息,請參見here
第二個不起作用的原因是您已超出限制,因此會顯示數字格式異常。