Java jsp中负零的表示/验证?
我们有一个jsp页面,它显示了一些双精度值,在一些双精度值上,jsp上还有一个-1的乘法。除了零值(表示为“-0”)外,这工作正常,并且在el语句中选择正确的css类失败 下面是一个示例来说明问题: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
<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有何建议?Add0.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}