Subject: Re: [xsl] Numbers containing 'e+..' not recognised as numbers From: Drew McLellan <lists@xxxxxxxxxxxxxxxx> Date: Mon, 4 Jul 2005 20:03:28 +0100 |
On 7/4/05, Drew McLellan <lists@xxxxxxxxxxxxxxxx> wrote:
I'm using the MSXML2 processor form with an ASP script, trying to transform a source xml document to xhtml.
The problem is that my source document contains elements with attributes whose values are numeric. Sometimes these values are expressed in a format such as "4.364976000000000e+002". The xsl processor doesn't recognise these as numbers, and so format-number() or any function that requires a number as input simply returns NaN.
I've tried using the number() function to convert to a number, but this has been unsuccessful.
I'd be extremely grateful if anyone could
a) suggest a method to get these numbers recognised as numbers, or b) suggest the correct mathematical term for these 'e+..' numbers so I can search more effectively!
I always sucked at mathematics :)
XPath 1.0 does not recognize numbers in scientific notation. XPath 2.0 does.
I'd therefore recommend using an XSLT 2.0 processor such as Saxon 8.4 or Saxon.NET to solve this problem.
Numbers in scientific notation could be converted to xs:double using FXSL for XSLT 2.0 in the following way (note that any base -- not only 10 -- is supported):
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Unordered sequences in XP, Michael Kay | Thread | Re: [xsl] Numbers containing 'e+..', Drew McLellan |
Re: [xsl] Numbers containing 'e+..', Drew McLellan | Date | Re: [xsl] Constructor functions & `, Dimitre Novatchev |
Month |