除以1000时,有时会遇到无法“正确”进行除法的错误。例如,当将90.55除以1000而不是得到.09055时,我得到.090549999999。
<c:out value="${bean.paPrice / 1000}" />
为什么会这样呢?这是浮点数学运算的结果吗?谷歌搜索似乎表明这可能是罪魁祸首,但我没有找到具体答案。
为了解决这个问题,我可以将答案四舍五入到5位数字,但这似乎只是一个更深层次问题的补丁。
<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice / 1000}" />
这不是问题,这只是浮点数的二进制表示形式的自然结果。四舍五入,不用担心。