我有一個簡單的代碼首先我用這個的Java龍parselong投擲數字格式例外
Long.parseLong(4250120140405520712)
和它的作品,但是當我這樣做
Long.parseLong(42501201404055207123)
它失敗。添加一個額外的數字會引起數字格式異常。有人可以請解釋
我有一個簡單的代碼首先我用這個的Java龍parselong投擲數字格式例外
Long.parseLong(4250120140405520712)
和它的作品,但是當我這樣做
Long.parseLong(42501201404055207123)
它失敗。添加一個額外的數字會引起數字格式異常。有人可以請解釋
假設你解析String
s轉換long
S:
的第一個作品,因爲數4250120140405520712(19位)是小於最大可能的長期價值,Long.MAX_VALUE
,9223372036854775807L
。
第二個失敗,因爲它的長度是20位數,大於9223372036854775807L
。
long
變量只能保存最大值9223372036854775807有關更多信息,請參見here。
第二個不起作用的原因是您已超出限制,因此會顯示數字格式異常。
我們可以使用BigInteger來表示第二個數字 – 2015-06-08 05:48:52