1000で割ったときに、時折、「正しく」除算を行わないバグを実行します。たとえば、.09055を取得する代わりに、90.55を1000で割ると、.090549999999が得られます。JSP/JSTLの1000による除算が時には剰余を与えるのはなぜですか?
<c:out value="${bean.paPrice/1000}" />
どうしてですか?これは浮動小数点演算の結果ですか? Googleの検索では、これが原因である可能性があるようですが、具体的な回答は見つかりませんでした。
これを修正するには5桁の答えを丸めることができますが、これは深刻な問題のパッチに過ぎないようです。
<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice/1000}" />
重複:http://stackoverflow.com/questions/327544/strange-floating-point-behaviour-in-a-java-program –
http://stackoverflow.com/questions/322749/retain-precisionも参照してください。 -with-double-in-java –