Groups > Design > Microsoft xsl > Re: xsl:number issue




xsl:number issue

xsl:number issue
Thu, 3 Apr 2008 01:54:14 -0700
Dear all,

I am trying to perform simple arthemtic operations using xslt;
example:
<xsl:number value="number(1) div number(4)"/> -> Output =
0.25
(Correct)
<xsl:number value="number(2) div number(4)"/> -> Output = 1
(Wrong)
<xsl:number value="number(3) div number(4)"/> -> Output = 1
(Wrong)
<xsl:number value="number(4) div number(4)"/> -> Output = 1
(Correct)
<xsl:number value="number(5) div number(4)"/> -> Output = 1
(Wrong)
<xsl:number value="number(6) div number(4)"/> -> Output = 2
(Wrong)
..etc.
What is wrong with what I am doing?
Notice that I also used both <xsl:number value="2 div 4"/> and
<xsl:number value="number(2) div number(4)"/> giving me the
same
output.

Post Reply
Re: xsl:number issue
Thu, 03 Apr 2008 13:17:59 +020
coosa wrote:

> I am trying to perform simple arthemtic operations using xslt;
> example:
> <xsl:number value="number(1) div number(4)"/> -> Output
= 0.25
> (Correct)

Which XSLT processor gives that result?

> <xsl:number value="number(2) div number(4)"/> -> Output
= 1 (Wrong)
> <xsl:number value="number(3) div number(4)"/> -> Output
= 1 (Wrong)
> <xsl:number value="number(4) div number(4)"/> -> Output
= 1 (Correct)
> <xsl:number value="number(5) div number(4)"/> -> Output
= 1 (Wrong)
> <xsl:number value="number(6) div number(4)"/> -> Output
= 2 (Wrong)
> ..etc.
> What is wrong with what I am doing?

If you want to output the result of 1 / 4 with XSLT then use
   <xsl:value-of select="1 div 4"/>
You can also format numbers, see 
<URL:http://www.w3.org/TR/xslt#format-number>

xsl:number is rounding the value to an integer, see 
<http://www.w3.org/TR/xslt#number>

-- 

	Martin Honnen --- MVP XML
Post Reply
about | contact