java – 为什么JSP / JSTL除以1000有时会给出余数?

除以1000我有时遇到一个没有“正确”划分的错误.例如,当将90.55除以1000而不是得到.09055时,我得到.090549999999.

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

为什么会这样?这是浮点数学的结果吗?谷歌搜索似乎表明这可能是罪魁祸首,但我没有找到具体的答案.

为了解决这个问题,我可以将答案四舍五入,但看起来这只是一个更深层问题的补丁.

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

解决方法:

这不是问题,它只是浮​​点二进制表示的自然结果.围绕你的价值观,不要担心.

上一篇:mysql-javax.servlet.jsp.JspException:无法建立连接,数据源无效:“ java.sql.SQLException:未找到合适的驱动程序”


下一篇:在JSTL / JSP中,给定一个java.util.Date,如何找到第二天?