[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: numerical inconsistencies doing dec to hex conv.
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? Works for me. Which XSLT processor are you using? Cheers, Jarno - Hocico: Untold Blasphemies v.3 (accessory mix) XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|