我有以下问题。我正在使用JQuery的JSP页面上工作。

在此页面中,我向表中显示一些金额,如下所示:

<td width = "8.33%">
    <%=salDettaglio.getTotImponibile().toString() != null ? salDettaglio.getTotImponibile().toString() : "" %>
</td>


获得的对象(通过getTotImponibile()方法)是BigDecimal

在我的表格的td中,值显示为:447.93。

现在,我必须通过以下方式格式化此金额:


使用字符代替。 (对于十进制数字)。
始终在后面显示两位小数。例如,我只能有一个十进制数字10,4,我必须显示10,40,或者我可以有两个以上十进制数字,在这种情况下,我必须仅显示第一个2个十进制数字(例如10,432,所以我必须显示10,43)


那么我该怎么做才能完成这两项任务呢?实际上,我正在显示一个代表十进制数字的字符串。我是否已将此值转换为double或类似的值?

最佳答案

首先创建一个类(即NumberFormat.java),然后将以下方法放入NumberFormat.java类中:

public static String priceWithDecimal (Double price) {
    DecimalFormat formatter = new DecimalFormat("###,###,###.00");
    return formatter.format(price);
}

public static String priceWithoutDecimal (Double price) {
    DecimalFormat formatter = new DecimalFormat("###,###,###.##");
    return formatter.format(price);
}


现在,在您的jsp中使用如下代码:

<td width = "8.33%">
    <%=salDettaglio.getTotImponibile().toString() != null ? NumberFormat.priceWithDecimal(Double.parseDouble(salDettaglio.getTotImponibile().toString())) : "" %>
</td>


该解决方案将为您服务。

关于java - 如何在JSP页面中格式化表示十进制数字的字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27501678/

10-09 06:19