RE: [xsl] how to keep big integer format?

Subject: RE: [xsl] how to keep big integer format?
From: "Brian Martinez" <Brian.Martinez@xxxxxxxxxxxx>
Date: Fri, 20 Oct 2006 10:19:03 -0500
I knew there was something strange about the original output as I'd
never seen a result like that in XSLT 1.0.  I guess I should have asked
her which version she was using. . . .

live and learn,

> -----Original Message-----
> From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
> Sent: Thursday, October 19, 2006 5:19 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] how to keep big integer format?
> >
> >
> > 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
> default for floating point numbers outside the range 1e-6 to 1e+6. The
> simplest way to avoid exponential notation is to use integer
> 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
> You can convert to an integer instead by using, for example
> xs:integer(object_id)+1. - or, of course, by doing schema-aware
> with a schema that describes the type of object_id as xs:integer.
> Michael Kay

Current Thread