我遇到过这种情况,我必须显示双倍的价格,例如$ 75.30,我的后端代码返回$ 75.3。要以经典的美元价格方式(超级脚本十进制值)显示它,我将它们拆分为2并显示。用下面的代码。在jsp中显示精确的2位小数的双精度值
<c:if test="${not empty price }">
<c:set var="displayPrice" value="${fn:split(price, '.')}" />
<sup>$</sup>${displayPrice[0]}
<sup>
<f:formatNumber minIntegerDigits="2" value="${displayPrice[1]}"/>
</sup>
</c:if>
但是在这种情况下发生的是,75.3在显示时变成了75.03。所以我修改了这样的代码。
<c:set var="decimalPrice"
value="${displayPrice[1]<10 ?displayPrice[1]*10:displayPrice[1]}" />
<f:formatNumber minIntegerDigits="2" value="${decimalPrice}"/>
这个工作,但价值如45.03美元也显示为45.30美元。
无法更改后端代码,我如何通过任何标记库或最小操作来实现此目的。
但我需要分裂它,以显示它作为超级脚本和子脚本,这行代码只是不会做。 – PROFESSOR