[英]Java parse error when converting “9632580147” to int
在我的Java代碼中,我有一個字符串9632580147
,當我使用以下代碼將其轉換為int時:
try{
sNumberInt = Integer.parseInt(sNumber);
} catch(NumberFormatException nfe) {
Log.d("NUMBER", nfe.getMessage());
return;
}
它進入catch塊,並說Invalid int: "9632580147"
...有人知道如何解決此問題嗎?
謝謝
int
最大值為2147483647
並且您嘗試傳遞的值大於9632580147
。 試試也許Long.parseLong(sNumber)
當您鍵入
int sNumber = 9632580147;
到您的代碼中,編譯器會告訴您:
int類型的文字9632580147超出范圍
原因是您的數字太大,無法放入int中,請改用long。
似乎您傳遞的值大於32位:9632580147 = 1000111110001001011000001000110011(34位)
Integer
最大值為2147483647。如果要分割該數字,則需要將其解析為Long
。
Java中的整數最大值為2147483647
而您輸入的9632580147
更大。 而是使用長數據類型:
long sNumberLong = Long.parseLong(sNumber);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.