我的JSP页面中有以下代码

<fmt:formatNumber value="${(r.p51_vmeset-row.p51_vmeset)}" maxFractionDigits="2" minIntegerDigits="2"  var="mm" />
<td style="${mm eq 0 ? 'background-color: lime':'background-color:  pink'}">
<c:out value="${mm}" ></c:out></td>


通过这段代码,我想显示如果小数部分的前两位数字为零,整数部分为零,那么减法的结果是什么,那么结果必须存储在变量mm中,并且石灰颜色应显示为maxFractionDigits =“ 2 “ minIntegerDigits =“ 2”等于减法的零。

但是显示的是,如果结果为零,则仅显示石灰。但是我希望,如果整数部分和小数部分直到两位数为零,那么石灰颜色也应显示为列的背景。

范例-


  假设我的r.p51_vmeset值为-0.4000977和row.p51_vmeset值为
  是-0.40009767。那么两个值相减将得出
  -0.0000003,但我希望将其修剪为00.00,并且颜色应为石灰而不是粉红色。


我尝试将结果打印为-

 <fmt:formatNumber value="${(r.p99_vmeset-row.p99_vmeset)}" maxFractionDigits="2" minIntegerDigits="2"  var="mm" />
     **<c:out value="${mm}"></c:out>**
     <td style="${mm eq 0 ? 'background-color: lime':'background-color: pink'}" >
      <c:out value="${mm}" ></c:out></td>


c:out显示值为00.00,但是当我比较它时,如果mm等于零,则背景色应为石灰,但其显示为粉红色。

最佳答案

您可以使用以下命令将数字格式化为整数:

<fmt:formatNumber var="i" maxIntegerDigits="3" maxFractionDigits="0"
                   type="number" value="${mm}" />


然后在这里比较:

<td style="${i eq 0 ? 'background-color: lime':'background-color:  pink'}">

关于java - JSP页面中的JSTL格式标记的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29137159/

10-10 19:12