当除以1000时,我有时遇到一个没有“正确”划分的错误。例如,当将90.55除以1000而不是获得.09055时,我得到.090549999999。
<c:out value="${bean.paPrice / 1000}" />
为什么会这样?这是浮点数学的结果吗?谷歌搜索似乎表明这可能是罪魁祸首,但我没有找到具体的答案。
为了解决这个问题,我可以将答案四舍五入,但看起来这只是对更深层问题的补丁。
<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice / 1000}" />
答案 0 :(得分:3)
这不是问题,它只是浮点二进制表示的自然结果。围绕你的价值观,不要担心。
答案 1 :(得分:2)
答案 2 :(得分:1)
是的,这是一个常见的floating-point format问题。