BigDecimal的在JSTL,通过int或double返回整数除法(BigDecimal in

2019-09-17 18:07发布

<fmt:formatNumber var="instAmount" value="${invoice.amount / offer.getTotalInstallments()}" minFractionDigits="2" />

哪里量BigDecimalJavatotalInstallmentsint 。 我试图通过设置totalInstallmentsdouble ,但没有改变。 它返回一个Integer ,它的行为,当你把在Java中两个整数,你会得到一个整数。

我缺少的东西还是有解决方法吗?

Answer 1:

最简单的办法是只进行这样的计算控制器/ servlet和使用视图页上的结果。 我认为计算应该在控制器来完成,而不是视图。 你会使用在BigDecimal的鸿沟()方法。

也就是说,如果你想做到这一点的观点,你必须定义一个标签库JSTL功能并建立鸿沟的一个静态版本,它接受的BigDecimal和诠释你是跳水。



Answer 2:

你可以像下面这样做:

< fmt:parseNumber value="${invoice.amount}" var="a" />

< fmt:parseNumber value="${offer.value)}"  var="b" />

${a/b}


文章来源: BigDecimal in JSTL, divide by int or double returns integer