RE: [xsl] rounding within the "format-number" function

Subject: RE: [xsl] rounding within the "format-number" function
From: "Haarman, Michael" <mhaarman@xxxxxxxxx>
Date: Thu, 26 Jan 2006 11:43:00 -0600
> From: Haarman, Michael 
> 
> It may be that what OP is witnessing is an artifact of floating point
> calculations returning something like .49999999 and rounding down.
> 
> > > <xsl:value-of select='format-number( round(100*$number) div 100 ,
> > > "##.00" )'  
> 
> Isn't it the case that this can still fail, only quite a bit less
> frequently?  To ensure correct up-rounding, use this:
> 
> <xsl:value-of select="format-number(ceiling(100 * $number) 
> 	div 100, '##.00')"/>


Forgive the reply to myself.  I'd ask you to ignore the bit of dumbness
exposed above.  ceiling() is a mistake here.

It remains true that round() can occasionally expose the vagaries of
floating point math.


Mike

Current Thread