2014-12-22 113 views
1

我解析股票數據,並試圖把它放到一個SQL數據庫。所有來自解析的信息都以字符串形式檢索。我正在使用Integer.parseInt()方法嘗試將字符串轉換爲一些信息的整數。我遇到的問題是更改數據。當它是一個積極的變化數量已在它前面的「+」號,我收到一個錯誤:字符串與INT與+號

Exception in thread "main" java.lang.NumberFormatException: For input string: "+0.14" // 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) // 
    at java.lang.Integer.parseInt(Integer.java:492) // 
    at java.lang.Integer.parseInt(Integer.java:527) // 
    at getStockData.main(getStockData.java:91)" (the //s are to signify end lines, having issues with formatting) 

我的輸出是:

Ticker ID: MSFT: Change - [+0.14] 

int Change = Integer.parseInt(di.getTextContent()); 

我真的不知道該怎麼以解決此錯誤,並且在Google搜索/搜索計算器後沒有發現任何類似的內容。

+3

整數無法容納浮點值。 Elliot Frisch的回答是正確的。 – Qix

回答

9

問題是0.14不是有效的int。嘗試使用Double.parseDouble(String)解析double值。像

double v = Double.parseDouble("+0.14"); 
System.out.println(v); 

輸出是

0.14