簡體   English   中英

Java Integer.parseInt無法解析字符串

[英]Java Integer.parseInt failed to parse a string

我正在解析這樣的15位數字的字符串:

String str = "100004159312045";
int i = Integer.parseInt(str);

這樣做時我遇到了異常。 為什么? Integer.parseInt什么限制? 將這么長的字符串轉換為數字,我還有什么其他選擇?

您的數字太大,無法容納32位int ,並且范圍在-2,147,483,648到2,147,483,647之間。

嘗試改用Long.parseLong long有64位,范圍為-9,223,372,036,854,775,808至9,223,372,036,854,775,807。

因為int的最大值略高於2,000,000,000

您可以使用long或BigInteger

long具有可以存儲的兩位數(最大值是int的平方),BigInteger可以處理任意大數

int是32個有符號位,其最大值是2 ^ 31-1 = 2147483647

您嘗試解析的值超過了整數的最大大小。

int的范圍在Integer.MAX_VALUEInteger.MIN_VALUE之間(包括2147483647到-2147483648)。 您不能解析超出該范圍的int值。

您可以使用long m = Long.parseLong(str); BigInteger b = new BigInteger(str); 對於大整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM