我有以下问题。我正在处理一个使用 JQuery 的 JSP 页面。
在此页面中,我将一些金额显示在表格中,如下所示:
<td width = "8.33%">
<%=salDettaglio.getTotImponibile().toString() != null ? salDettaglio.getTotImponibile().toString() : "" %>
</td>
获取的对象(通过getTotImponibile()方法)是一个BigDecimal
在我的表格的 td 中,它显示的值为:447.93。
现在我必须按以下方式格式化此金额:
使用 , 字符代替 .(用于十进制数字)。
在 之后始终显示 2 位小数。 例如,我只能有一位小数作为 10,4,我必须显示 10,40 或者我可以有超过 2 位小数数字,在这种情况下,我只需要显示前 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/