JSP问题显示Java double

时间:2014-02-10 17:56:47

标签: jsp double

我在存储最终用户接受的双字段时遇到问题。 如果用户输入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>  

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

格式化一个数字,并将其发送到JSP编写器(即显示它),除非您使用var属性,在这种情况下,它将格式化的数字存储在页面属性中。所以你只需要

<fmt:formatNumber value="${payment.netPayment}" type="number" groupingUsed="false" maxFractionDigits="2" />

请注意,使用double表示金额是一个坏主意。你应该更喜欢BigDecimal。