我想總結一個recordstore
四列的值。這四列中的值是decimal point
的數字,例如30.00
; recordstore
行是一個csv-like
數據與我使用用戶定義的函數來獲取特定列的值:所以我得到String
爲四列,例如"30.00"
。現在我想要sum
這四個值;所以我必須convert
把它們變成int
!但是,當我嘗試使用Integer.parseInt
然後java.lang.NumberFormatException
被提出!那麼如何在這種情況下做出總和呢?爲什麼在J2ME中表示數字的字符串的Integer.parseInt會拋出java.lang.NumberFormatException?
1
A
回答
6
儘管30.00
看起來像一個整數,Java認爲它看起來像一個浮點值(由於小數點)。
因此,您需要將它解析爲double,然後獲取整數部分。
int i = Double.parseDouble("30.00").intValue();
(J2ME不特定的方式。)
1
如果你的號碼包含小數點,則需要解析爲一個雙。
Double.parseDouble("30.00");
從那裏,你可以使用Math
方法或只是截斷,讓您的整數。
0
正如另一種選擇,你也可以使用Integer.parseInt("30.00".split("\\.")[0])
這將消除依賴於小數點分隔符(如果你總是有串點,但你必須區域設置無法控制它會被解析的。
相關問題
- 1. 爲什麼Double.parseDouble(null)和Integer.parseInt(null)會拋出不同的異常?
- 2. UTF-8的java.lang.NumberFormatException字符串字符串
- 3. 爲什麼數字+字符串在JavaScript中的字符串?
- 4. 什麼是最大值可以作爲字符串輸入Integer.parseInt(字符串)
- 5. Integer.parseInt()拋出「對於輸入字符串:XXX」
- 6. 爲什麼System.IO.Path.GetFullPath()會拋出具有260個字符的異常?
- 7. 用於32位有符號二進制字符串拋出的Java Integer.parseInt()NumberFormatException
- 8. Integer.parseInt不解析字符串爲int
- 9. Activator.CreateInstance(字符串,字符串)拋出TypeLoadException
- 10. 爲什麼__lib_start_main出現在字符串
- 11. 爲什麼字符串存儲在Java中的字符串池?
- 12. java.lang.NumberFormatException對於字符串值
- 13. 爲什麼Integer.parseInt在輸入上拋出NumberFormatException似乎有效?
- 14. Integer.parseInt(字符串)是如何工作的?
- 15. 是否有任何理由爲什麼urlencoded字符串會拋出404錯誤?
- 16. 爲什麼字符數組在轉換爲Objective C中的字符串時會插入尾隨字符?
- 17. 的WriteLine字符串 '{' 字符拋出出現FormatException在C#
- 18. 拋出什麼異常類型的字符串
- 19. 解析字符串在J2ME
- 20. 作爲數組鍵,爲什麼一串數字會變成字符串?
- 21. 爲什麼我會將「null」作爲輸出字符串? Java
- 22. Ruby - 爲什麼+ =會增加我的字符串的數量?
- 23. 爲什麼傑克遜串行數字字段爲字符串?
- 24. 當字符在CDATA中時,爲什麼XML序列化程序會拋出無效的字符異常?
- 25. 爲什麼不輸出字符串「nullfalse」?
- 26. 爲什麼會拋出NullPointerException?
- 27. 爲什麼會拋出NullPointerException?
- 28. 爲什麼會拋出ClassCastException?
- 29. 爲什麼會拋出IllegalMonitorStateException?
- 30. 爲什麼會拋出OutOfMemoryException?
要麼我的散光正在變差,要麼你真的很喜歡反衝。 – 2012-02-09 15:47:07
'30.00'不是'整數',因爲有一個'decimal'點。 – 2012-02-09 15:47:35
從數學的角度來說,30.00是一個整數,我上次檢查。問題是完全合理的imo。 – aioobe 2012-02-09 15:48:28