[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Xalan Rounding
Subject: Re: [xsl] Xalan Rounding From: Jeff Kenton <jkenton@xxxxxxxxxxxxx> Date: Fri, 10 May 2002 15:08:11 -0400 (EDT) |
On Fri, 10 May 2002, Nik Krimm wrote: ..Another rounding question [sorry]: .. ..With the format-number function, if the the digit to be rounded off has a value of exactly .5, xalan rounds down. Regular round() produced the expected result (rounding up); however I'd prefer to use the format-number function because this template may output various precision decimals (0 - n decimal places). Sticking with format-number() would allow me to pass this information is as a $format variable. .. ..Any suggestions on how to handle this? I just tried your test with both Xalan and Saxon. With a value of 106.5, I saw rounding down to 106 with both. With a value of 107.5, it rounded up to 108. I suspect that what you are seeing is IEEE-754 round to nearest mode, which says that ties are broken by rounding to an even value (don't ask why unless you *REALLY* care why it's specified that way). If this is the cause of what you're seeing (and I'm seeing), this is not what XSLT requires. .. ..[xml] ..<values> ..<value>106.5</value> ..</values> .. ..[xsl] ..<xsl:template name="average-values"> ..<xsl:param name="format">###</xsl:param> ..<xsl:value-of select="format-number(//value ,'##')" /> ..</xsl:template> .. ..[xalan output] ..106 .. ..[desired output] ..107 .. ..TIA .. .. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list .. -- Jeff Kenton DataPower Technology, Inc. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Xalan Rounding, Nik Krimm | Thread | RE: [xsl] Xalan Rounding, Stuart Celarier |
[xsl] Finding the maximum depth fro, Dave Townsend | Date | RE: [xsl] Xalan Rounding, Stuart Celarier |
Month |
Keywords