当除以 1000 时,我有时会遇到一个不能“正确”除法的 bug。例如,当将 90.55 除以 1000 时,我得到的不是 0.09055,而是 0.090549999999。
<c:out value="${bean.paPrice / 1000}" />
为什么会发生这种情况?这是浮点数学的结果吗?谷歌搜索似乎表明这可能是罪魁祸首,但我没有找到具体的答案。
为了解决这个问题,我可以将答案四舍五入到 5 位数字,但这似乎只是一个更深层次问题的补丁。
<fmt:formatNumber type="number" maxFractionDigits="5" value="${bean.paPrice / 1000}" />
这不是问题,这只是浮点数二进制表示的自然结果。围绕你的价值观,不要担心。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)