我在存储最终用户接受的双字段时遇到问题。 如果用户输入100.00,则该值似乎松散小数位并显示为100.0 我用来接受用户输入的JSP如下所示:
<fmt:formatNumber type="number" groupingUsed="false" maxFractionDigits="2" value="${payment.netPayment}" var="fmtNetPayment"/>
<form:input path="netPayment" id="netPayment" value="${fmtNetPayment}" cssErrorClass="error"/>
<form:errors path="netPayment">
<span class="errorBox">
<span class="errorArrow"></span>
<span class="errorMsg"><form:errors path="netPayment"/></span>
</span>
</form:errors>
当我使用以下代码在摘要页面上遍历我的项目时,当它应显示两个小数位为100.00时,金额显示为100.0
<div>
<span class="netPayment"></span>
<c:out value="${payment.netPayment}"/>
</div>
有什么想法吗?
答案 0 :(得分:2)
格式化一个数字,并将其发送到JSP编写器(即显示它),除非您使用var属性,在这种情况下,它将格式化的数字存储在页面属性中。所以你只需要
<fmt:formatNumber value="${payment.netPayment}" type="number" groupingUsed="false" maxFractionDigits="2" />
请注意,使用double表示金额是一个坏主意。你应该更喜欢BigDecimal。