簡體   English   中英

將“ 9632580147”轉換為int時出現Java分析錯誤

[英]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.

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