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中负零的表示/验证?_Java_Jsp_El - Fatal编程技术网

Java jsp中负零的表示/验证?

Java jsp中负零的表示/验证?,java,jsp,el,Java,Jsp,El,我们有一个jsp页面,它显示了一些双精度值,在一些双精度值上,jsp上还有一个-1的乘法。除了零值(表示为“-0”)外,这工作正常,并且在el语句中选择正确的css类失败 下面是一个示例来说明问题: <c:set var="positiveZero" value="${0.0}" /> <c:set var="negativeZero" value="${0.0 * -1}" /> <p>negativeZero: ${negativeZero}</p

我们有一个jsp页面,它显示了一些双精度值,在一些双精度值上,jsp上还有一个-1的乘法。除了零值(表示为“-0”)外,这工作正常,并且在el语句中选择正确的css类失败

下面是一个示例来说明问题:

<c:set var="positiveZero" value="${0.0}" />
<c:set var="negativeZero" value="${0.0 * -1}" />

<p>negativeZero: ${negativeZero}</p>
<p>less than 0? ${negativeZero < 0}</p>

<p>positiveZero: ${positiveZero}</p>
<p>less than 0? ${positiveZero < 0}</p>
您对如何确保值显示为“正零”以及如何确保“小于0”语句在这两种情况下都返回false有何建议?

Add
0.00

因为:

(-0.0)+0.0->0.0


有关类似问题的答案和来源链接,请参见。

您可以使用以下小解决方法:

${negativeZero < 0 ? -negativeZero : negativeZero}
${negativeZero<0?-negativeZero:negativeZero}

尝试将零添加到负零。它应该删除减号。我会研究这个解决方案:@Kaze,类似的东西可能是一个解决方案,但在这种情况下,我不能使用Math.ABS,因为在某些情况下,该值实际上是负数。这在这种特殊情况下不起作用,因为一些值实际上是并且应该表示为小于0。谢谢!此解决方案的唯一缺点是JSP代码看起来有点“凌乱”,因为在一个JSP上会添加大约10次。没有其他更好看的解决方案了吗?@SubUrban-不知道如何使其完全干净-可能值得在某些Java库中添加一个静态方法-类似于
${MathLib.asPositive(negativeZero)}
。解决方案是添加一个额外的GetValueInversted()方法,该方法乘以-1并加上0.0d。使用该方法,我可以从jsp层中删除计算,也可以JUnit测试它,更干净、更好:-)谢谢您的帮助@郊区-我会称之为否定,但那是你的决定。
${negativeZero < 0 ? -negativeZero : negativeZero}