我正在執行一個模擬退火程序,其中一部分涉及從我的java程序讀取的.txt文件計算得分。這個異常是什麼意思?
1)從用戶讀取輸入字符串。時間越長我的輸入字符串,越有可能出現以下異常下方出現
2)計算基本上是加入了大量的十進制數的分數,我把它保存在一個「雙」變量。
可有人請告訴我爲什麼會發生這樣的異常?從希爾交換
得分: 0.24874990000000005後交換...異常線程 「main」 java.lang.NumberFormatException:對於 輸入字符串: 「7.92066E-」 在sun.misc.FloatingDecimal.readJavaFormatString (FloatingDecimal.java:1224)
非常感謝!
雙打有四捨五入錯誤(只是嘗試'0.01 + 0.09':它不是'0.1')。這使得雙打不適合進行科學或財務計算。 [Drools Planner](http://www.jboss.org/drools/drools-planner)的模擬退火支持使用替代Score實現,例如'BigDecimal'(它沒有舍入誤差但速度較慢)。 – 2011-04-28 09:36:42