Subject: RE: [xsl] basic math functions: problem with substraction result (newbie question) From: "Michael Kay" <mhk@xxxxxxxxx> Date: Wed, 13 Aug 2003 12:07:48 +0100 |
This problem occurs because 2.4 and 0.2 cannot be represented precisely as IEEE floating point numbers, so you get rounding errors. The solution is to display the result using format-number, which rounds it to the required precision, for example format-number(2.4 - 0.2, "#0.00") will display the result to two decimal places. Michael Kay > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Nicolas Stern > Sent: 13 August 2003 10:09 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] basic math functions: problem with > substraction result (newbie question) > > > Hi - many thanks in advance for any help on the following problem: > > Can anyone explain me the following behavior with basic math > functions ? > > I'm doing additions and substractions in an xsl sheet, and > don't get the > expected results. > > my xml file: (dummy.xml) > ------------------------------- > <?xml version="1.0"?> > <?xml-stylesheet type="text/xsl" href="t2.xslt"?> > <ROWSET> > <ROW>dummy</ROW> > </ROWSET> > ------------------------------- > the stylesheet: (t2.xslt) > ------------------------------- > <?xml version="1.0" encoding="ISO-8859-1"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:variable name="var1" select="2.4" /> > <xsl:variable name="var2" select="0.2" /> > <xsl:template match="/"> > <html> > <ul> > <li><xsl:value-of select="$var1 + $var2" /></li> > <li><xsl:value-of select="$var1 - $var2" /></li> > </ul> > <hr /> > > </html> > </xsl:template> > </xsl:stylesheet> > ------------------------------- > the output: (using msxsl dummy.xml t2.xslt > ------------------------------- > < h t m l > > < u l > > < l i > 2 . 6 < / l i > > < l i > 2 . 1 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 < / l i > > < / u l > > < h r > > < / h t m l > > ------------------------------- > > I would need the result of $var1 - $var2 to be = 2.2, as expected > > The behavior is identical when using the parser in xmlspy. > > Any hint ? > > thanks in advance > > Nicolas > > _________________________________________________________________ > MSN Search, le moteur de recherche qui pense comme vous ! > http://search.fr.msn.ch > > > 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 -> |
---|---|---|
Re: [xsl] basic math functions: pro, David Carlisle | Thread | [xsl] RE: XSL-List Digest V4 #1553, Lachman Dhalliwal |
RE: [xsl] how to close html tags : , Andrew Welch | Date | RE: [xsl] how to close html tags : , Julian Reschke |
Month |