出自:http://blog.csdn.net/u011910290/article/details/52935337
問題描述:
在項目編寫過程中,發現BigDecimal在jsp中進行除法運算時,會有如下問題:
假設頁面中存在一個BigDecimal payment.unPayAmount = new BigDecimal(1015228)。由於數據庫保存的金額是以分為單位的,所以顯示在頁面時,則應該需要除以100。所以代碼為:
<fmt:formatNumber value="${payment.unPayAmount/100}"type="currency" />
得出的值卻是10,152.00。而我們所期望的值是10,152.28。
解決方法:
先將payment.unPayAmount由BigDecimal類型轉為String類型
<fmt:parseNumber value="${payment.unPayAmount}" var="pageUnPayAmount" />,將用String類型的值去formatNumber。 <fmt:formatNumber value="${pageUnPayAmount/100}"type="currency" />,則可以得到我們所期望的值10,152.28。