Here is how I do it:
<j:new var="aBigDecimal1"
className="java.math.BigDecimal">
<j:arg type="java.lang.String"
value="${passrateTotal.toString()}"/>
</j:new>
<j:new var="aBigDecimal2"
className="java.math.BigDecimal">
<j:arg type="java.lang.String"
value="${nrOfProjects.toString()}"/>
</j:new>
<j:new var="aJavaLangInteger"
className="java.lang.Integer">
<j:arg type="java.lang.String" value="0"/>
</j:new>
<j:invoke var="anInt" on="${aJavaLangInteger}"
method="intValue"/>
<j:invoke var="Result" on="${aBigDecimal1}"
method="divide">
<j:arg value="${aBigDecimal2}"/>
<j:arg value="${anInt}"/>
<j:arg value="${anInt}"/>
</j:invoke>
-----Original Message-----
From: Wim Deblauwe [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 16, 2005 3:00 AM
To: Maven Users List
Subject: JEXL arithmatic strangeness
Hi,
does somebody know why division does not work in JEXL? I have the following
fragment:
<x:set var="nrOfProjects"
select="count(//[EMAIL PROTECTED]'junitpassrate'][not(text()='-')][text()])"
/>
<x:forEach var="passRate"
select="//[EMAIL PROTECTED]'junitpassrate'][not(text()='-')][text()]">
<x:set var="passrateValue" select="number(substring-before(text(), '
%'))"/>
<j:set var="passrateTotal" value="${passrateTotal + passrateValue}"/>
<echo>total: ${passrateTotal}</echo>
</x:forEach>
<echo>total: ${passrateTotal}</echo>
<echo>nrOfProjects: ${nrOfProjects}</echo>
<j:set var="averagePassrate" value="${passrateTotal / nrOfProjects}"/>
<p>Average pass rate (not-weighed): </p> <echo>${averagePassrate}</echo>
<j:set var="averagePassrate2" value="${passrateTotal * nrOfProjects}"/>
<echo>${averagePassrate2}</echo>
The variable 'averagePassrate' is empty somehow. However when I change the
division ('/') by multiplification or addition or subtraction, the math is
performed correctly. Any ideas?
regards,
Wim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]