Subject: RE: [xsl] msxml sum() and precision problem From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Thu, 19 Sep 2002 15:42:25 +0100 |
XPath 1.0 uses floating-point binary arithmetic, not decimal arithmetic, so there will be rounding errors when results are converted to decimal. Use format-number() to display the results to the required precision. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Jonas Nordström > Sent: 19 September 2002 13:03 > To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' > Subject: [xsl] msxml sum() and precision problem > > > Something strange is going on. I strolled through the > archives but couldn't find something similar. Consider the following: > > test.xml: > <?xml version="1.0" encoding="ISO-8859-1"?> > <?xml-stylesheet type="text/xsl" href="test.xsl"?> > > <jonas> > <name amount="349.03"/> > <name amount="895.01"/> > <name amount="841.03"/> > </jonas> > > > test.xsl: > <?xml version="1.0" encoding="ISO-8859-1"?> > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:output method="html" version="4.0" encoding="ISO-8859-1"/> > > <xsl:template match="/"> > > <html> > <meta http-equiv="Content-Type" content="text/html; > charset=ISO-8859-1" /> <head> </head> <body> > <xsl:apply-templates select="/jonas/name" /> <br/> > Sum: <xsl:value-of select="sum(/jonas/name/@amount)" /> > </body> > </html> > </xsl:template> > > <xsl:template match="/jonas/name"> > <xsl:value-of select="position()"/>: <xsl:value-of > select="@amount" /><br/> </xsl:template> > > </xsl:stylesheet> > > and the stunning browser-result: > 1: 349.03 > 2: 895.01 > 3: 841.03 > > Sum: 2085.0699999999997 > > Is there a known precision bug for sum in MSXML (I'm running > MSXML3 i think). > > - Jonas Nordstrom - > Sigma Exallon AB > > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] RE: returning IXMLDOMNodeList, bryan | Thread | [xsl] variable as attribute value o, thomas |
RE: [xsl] merging with document(), Michael Kay | Date | RE: [xsl] using attribute value as , ross |
Month |