Subject: RE: [xsl] how to keep big integer format? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 20 Oct 2006 00:19:02 +0100 |
> I am using xslt to transform xml to xml and want to update > object_id value by adding 1. But the result returns > 4.967039E6 instead of 4967039. > How can I get what I want? > XSLT 1.0 never uses exponential notation on output; XSLT 2.0 uses it by default for floating point numbers outside the range 1e-6 to 1e+6. The simplest way to avoid exponential notation is to use integer arithmetic rather than floating point arithmetic. You're probably using floating point because that's the default for untyped data when you don't have a schema. You can convert to an integer instead by using, for example xs:integer(object_id)+1. - or, of course, by doing schema-aware processing with a schema that describes the type of object_id as xs:integer. Michael Kay http://www.saxonica.com/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] how to keep big integer forma, Lin, Jessica | Thread | [xsl] how to add a namespace to the, Sam Carleton |
Re: [xsl] how to keep big integer f, David Carlisle | Date | RE: [xsl] how to keep big integer f, Michael Kay |
Month |