显示Java双线程的JSP问题

显示Java双线程的JSP问题,jsp,double,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="n

我在存储最终用户接受的双字段时遇到问题。 如果用户输入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.0,而它应该显示两位小数点后的数字为100.00

<div>
  <span class="netPayment"></span>
  <c:out value="${payment.netPayment}"/>                                                  
</div>  


任何想法?

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

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


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

100.00和100.0有什么不同?double是一个数字,而不是字符串。我总是需要显示两个小数位。答案是:使用
而不是直接显示double值。感谢您的回答,我尝试在c:out标记内使用,但无法使其工作。你有我能看到的例子吗?