Subject: [xsl] numerical inconsistencies doing dec to hex conv. From: Peter Doggett <ee99ppd@xxxxxxxxxxxx> Date: Mon, 10 Mar 2003 12:05:02 +0000 (GMT) |
Hi, I am using the below template to convert a decimal number into a hex number. It seems to work correctly apart from when I want to calculate the hex equivelent of the decimal number - 4294967295. This number is of particular significance as in Hex this should be FFFFFFFF (a 32 bit, bitmask; i am using xml to describe registers in h/w). The template outputs FFFFFFF0 abnd I dont know why. The template seems to output the incorrect value for 1099511627775, which is the decimal representation of FFFFFFFFFF in hex. The recursive template is as follows: <xsl:variable name="hexDigits" select="'0123456789ABCDEF'" /> <xsl:template name="toHex"> <xsl:param name="decimalNumber" /> <xsl:if test="$decimalNumber >= 16"> <xsl:call-template name="toHex"> <xsl:with-param name="decimalNumber" select="floor($decimalNumber div 16)" /> </xsl:call-template> </xsl:if> <xsl:value-of select="substring($hexDigits, ($decimalNumber mod 16) + 1, 1)" /> </xsl:template> Can anybody figure out why this is happening or have an equivelent template that can calculate the conversion correctly? Thankyou for your time. ---------------------- Peter Doggett ee99ppd@xxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] HTML input tag problem an, Edward . Middleton | Thread | RE: [xsl] numerical inconsistencies, Michael Kay |
Re: [xsl] HTML input tag problem an, Oleg Tkachenko | Date | RE: [xsl] numerical inconsistencies, Jarno . Elovirta |
Month |