![](/img/trans.png)
[英]java.lang.NumberFormatException: null with Integer.Parseint()
[英]Why Integer.parseInt of a String representing a number throws java.lang.NumberFormatException in J2ME?
我想對一個記錄recordstore
的四列的值recordstore
。 這四列中的值是帶decimal point
,例如30.00
; recordstore
行是一個csv-like
數據,我使用它使用用戶定義的函數來獲取特定列的值:因此,我獲得了四個列的String
,例如"30.00"
。 現在,我想對這四個值sum
; 所以我必須convert
它們convert
為int
! 但是,當我嘗試使用Integer.parseInt
,就會引發java.lang.NumberFormatException
! 那么如何在這種情況下求和呢?
盡管30.00
對您來說似乎是一個整數,但Java認為它看起來像一個浮點值(由於小數點)。
因此,您需要將其解析為一個double,然后獲取整數部分。
int i = Double.parseDouble("30.00").intValue();
(順便說一下,這不是特定於J2ME的。)
如果您的數字包含小數點,則需要解析為雙精度。
Double.parseDouble("30.00");
在這里,您可以使用Math
方法,也可以截斷以獲得Integer。
作為另一種選擇,您還可以使用Integer.parseInt("30.00".split("\\\\.")[0])
這將消除對小數點分隔符的依賴性(如果字符串中始終有一個點,但是您對語言環境沒有控制權,則會對其進行解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.