2009-06-16 40 views
2

除以1000,我有時會遇到一個不能正確進行分割的錯誤。例如,當將90.55除以1000而不是得到.09055時,我得到.090549999999。爲什麼JSP/JSTL除以1000有時會給餘數?

<c:out value="${bean.paPrice/1000}" /> 

爲什麼會發生這種情況?這是浮點數學的結果嗎?谷歌搜索似乎表明,這可能是一個罪魁禍首,但我沒有找到具體的答案。

要解決這個問題,我可以圍繞5位數字的答案,但它似乎是這只是一個更深層次問題的補丁。

<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice/1000}" /> 
+0

Duplicate:http://stackoverflow.com/questions/327544/strange-floating-point-behaviour-in-a-java-program – 2009-06-16 16:00:30

回答

3

這不是一個問題,它的浮點的二進制表示的只是一個自然結果。圍繞你的價值觀,不要擔心。

相關問題