<fmt:formatNumber var="instAmount" value="${invoice.amount / offer.getTotalInstallments()}" minFractionDigits="2" />
BigDecimal
中Java
的金额为totalInstallments
且int
为totalInstallments
。我尝试将double
设置为Integer
,但没有任何变化。它返回{{1}},它的行为就像在Java中分割两个整数一样,你得到一个整数。
我错过了什么或有解决方法吗?
答案 0 :(得分:3)
最简单的解决方案是在控制器/ servlet中执行此计算,并在视图页面上使用结果。我认为计算应该在控制器而不是视图中完成。您可以在BigDecimal上使用divide()方法。
也就是说,如果您想在视图中执行此操作,则必须在标记库中定义JSTL函数,并创建一个静态版本的divide,它接受您正在潜水的BigDecimal和int。
答案 1 :(得分:0)
你可以这样做:
< fmt:parseNumber value="${invoice.amount}" var="a" />
< fmt:parseNumber value="${offer.value)}" var="b" />
${a/b}