|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: rounding within the "format-number" function
> From: Michael Kay > > What I have noticed is that the XSL "format-number" function > > rounds to > > the nearest even number, instead of the bigger one, as is usual and > > would be expected. According to one site, this is sometimes called > > "banker's rounding." > > implementations written in Java probably used the underlying JDK class > library, which did "banker's rounding", but implementations in other > languages might have used a different algorithm. XSLT 2.0 > defines the rules > as you describe. 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')"/> HTH, ----------------------------------- Mike Haarman, XSL Developer, Internet Broadcasting Systems, Inc.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








