The EL was actually more inspired by ECMAScript and XPath than Java. In both ECMAScript and XPath, division results in a floating-point value in accordance with IEEE 754. If what you really want is a string representation of the number without any fractional digits, you could use:
<fmt:formatNumber var="..." value="${fn:length(myCollection) / 2}" pattern="#"/> Quoting Pierre Scemla <[EMAIL PROTECTED]>: > Thanks for your answer. > Does anybody know why they chose to do that instead of following the > behavior of the JLS? > Is there a way to force the conversion to an Integer? > > Pierre > > Kris Schneider wrote: > > >Per the JSP 2.0 Spec., both operands have been coerced to Double and then > the > >"/" operator has been applied. > > > >Quoting Pierre Scemla <[EMAIL PROTECTED]>: > > > > > > > >>Hi, > >> > >>I have the following el code in a jsp: > >> length="${fn:length(myCollection) / 2}" > >>where length is an attribute of type String (I can't change it to > >>Integer, this is an attribute of the Struts's iterate tag). > >> > >>As fn:length() returns an integer and as 2 is an integer, I was > >>expecting that the value for length would be "6" for instance, > >>but I got "6.0". > >>Is it an intended feature of the division operator of the jstl/el or is > >>it a bug? > >> > >>Pierre -- Kris Schneider <mailto:[EMAIL PROTECTED]> D.O.Tech <http://www.dotech.com/> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]