Integer division question
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 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Integer division question
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]
Re: Integer division question
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 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Integer division question
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]