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

金额BigDecimal在哪里Java,在totalInstallments哪里int。我尝试设置totalInstallmentsdouble但没有任何变化。它返回一个Integer,它的行为就像你在 Java 中将两个整数相除,你得到一个整数。

我错过了什么还是有解决方法?

4

2 回答 2

3

最简单的解决方案是在控制器/servlet 中进行此计算并在视图页面上使用结果。我认为应该在控制器而不是视图中进行计算。您将在 BigDecimal 上使用 divide() 方法。

也就是说,如果您确实想在视图中执行此操作,则必须在标记库中定义一个 JSTL 函数并创建一个静态版本的 divide ,它接受 BigDecimal 和您正在潜水的 int 。

于 2012-06-04T14:28:25.017 回答
0

你可以这样做:

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

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

${a/b}
于 2014-03-31T09:51:20.493 回答