2015-06-09 20 views
1

下面的代碼parseDouble例外,在分析一個有效的Double值

if (Double.parseDouble(value) > 0) 

拋出以下異常

java.lang.NumberFormatException:無效的雙: 「-2.49」


記錄的值看起來像一個有效的Double,什麼可能會導致此異常?

+1

看起來你的字符串是有效的。也許有一個看不見的字符,嘗試[這個代碼](http://stackoverflow.com/questions/10372862/java-string-remove-all-non-numeric-characters)來清理它,看看它是否有幫助 –

回答

0

您似乎遇到一個區域設置問題。 也就是說,整數和小數部分分隔符在不同的語言環境中有所不同,它的某處是.和某處,

請參閱that question,有一個可能的解決方案。 使用適合您的最適合的語言環境,例如Locale.US使用.作爲分隔符。