我有以下问题。我正在使用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/