Subject: RE: [xsl] Implicit casting from double to float From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 7 Jan 2009 22:47:58 -0000 |
My first thoughts are that XSLT should raise an error on this, and if Saxon isn't raising an error then it's a bug. But I need to investigate a bit more deeply. Yes, it's totally ridiculous to allow decimal->float promotion but not double->float, but that's what the spec says. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx] > Sent: 07 January 2009 07:02 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Implicit casting from double to float > > Hi all, > When I ran the following XSLT 2.0 code, with Saxon 9.x > > <xsl:variable name="num1" select="xs:double('1e4')" > as="xs:double" /> <xsl:variable name="num2" select="$num1" > as="xs:float" /> <xsl:value-of select="$num2" /> > > I get the output, > > 10000 > > The XSLT 2.0 processor has no problem doing this operation. > No warning is produced either. > > But a similar operation in Java is a serious compile time error, > > Please consider this Java fragment, > > float num = (double)1e4; > System.out.println(num); > > This Java fragment doesn't compile, and following error is generated, > > test.java:3: possible loss of precision > found : double > required: float > > float num = (double)1e4; > ^ > > Could somebody please explain this behavior with the XSLT 2.0 system. > > > -- > Regards, > Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Implicit casting from dou, Owen Rees | Thread | Re: [xsl] Implicit casting from dou, Mukul Gandhi |
RE: [xsl] casting sequences, Michael Kay | Date | Re: [xsl] casting sequences, Florent Georges |
Month |