xsl-list
[Top] [All Lists]

RE: rounding within the "format-number" function

2006-01-26 10:43:00
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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>