Jstl负零

Har*_*mer 5 java jstl

如果您尝试以下位,您将获得-0

<c:set var="demo" value="-0.04" />
<fmt:formatNumber maxFractionDigits="1" value="${demo}" var="demo" />
Run Code Online (Sandbox Code Playgroud)

但是,如果你测试的是否小于0则说明是真的

<c:if test="${demo < 0.00}">...</c:if>
Run Code Online (Sandbox Code Playgroud)

我怎么能绕过这个?它似乎没有意义,0等于-0,我在代数中证明了它...在这篇文章中他们指向IEEE参考,但仍然,我无法解决问题

编辑:感谢您的评论,代码示例中存在错误.我将舍入值分配给演示变量.并且输出不是0,但是-0,我试过了

Ste*_*art 0

这里的可能性很大,但是是因为它将原始的 -0.04 解析为字符串吗?

也许试试这个,我认为这将迫使它评估为数字:

<c:set var="demo" value="${-0.04}" />
Run Code Online (Sandbox Code Playgroud)