Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么JSP/JSTL除以1000有时会得到余数?_Java_Jsp_Floating Point_Jstl - Fatal编程技术网

Java 为什么JSP/JSTL除以1000有时会得到余数?

Java 为什么JSP/JSTL除以1000有时会得到余数?,java,jsp,floating-point,jstl,Java,Jsp,Floating Point,Jstl,当除以1000时,我有时会遇到一个不能“正确”进行除法的错误。例如,当90.55除以1000而不是得到.09055时,我得到了.0905499999 <c:out value="${bean.paPrice / 1000}" /> 为什么会这样?这是浮点运算的结果吗?谷歌搜索似乎表明这可能是罪魁祸首,但我没有找到具体答案 为了解决这个问题,我可以将答案四舍五入到5位数,但这似乎只是一个更深层次问题的补丁 <fmt:formatNumber type="number" ma

当除以1000时,我有时会遇到一个不能“正确”进行除法的错误。例如,当90.55除以1000而不是得到.09055时,我得到了.0905499999

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

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

为了解决这个问题,我可以将答案四舍五入到5位数,但这似乎只是一个更深层次问题的补丁

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

是的,这是一个常见的问题。

为什么计算机在数学方面很差劲


这不是问题,它只是浮点二进制表示的自然结果。舍入您的值,不用担心。

Duplicate:另请参见