FormatBaseN() will only work on an integer. Look at this article for more
info on it.
http://www.fusionauthority.com/alert/index.cfm?alertid=30#tech1
http://www.houseoffusion.com/hof/datatype.cfm


> Hi folks,
>
> Okay, off the thought ramble for a moment and on to something more
pressing
> and less theoretical.
>
> Yesterday our network admin updated one of the servers.  The hardware
> upgrade was necessary and the server needed cleaning.  The web server was
> changed from Netscape Enterprise server to IIS4.0 and the CF Server went
> from 4.0 to 4.5.1.  We thought we had all the problems ironed out, but
> apparently there's some interesting differences.
>
> The one I'm dealing with right now has to do with the FormatBaseN
funciton.
> Here's the code in question:
>
> <!--- get the current system time --->
> <cfset systime=#DateFormat(now(),"yyyymmdd")# &
> #TimeFormat(now(),"hhmmss")#>
> <cfset systime_orig=systime>
>
> <!--- now scramble it up --->
> <cfset length=len(systime)>
> <!---<cfoutput>#systime#<br></cfoutput>--->
> <cfloop index="i" from=1 to=#length#>
> <cfset ran1=RandRange(1,length)>
> <cfset ran2=RandRange(1,length)>
> <cfset token1=#mid(systime,ran1,1)#>
> <cfset token2=#mid(systime,ran2,1)#>
>
> <cfset systime=#removeChars(systime,ran1,1)#>
> <cfset systime=Replace(systime," ","","ALL")>
> <cfset systime=#Ljustify(systime,14)#>
> <cfset systime=#insert(token2,systime,ran1)#>
>
> <cfset systime=#removeChars(systime,ran2,1)#>
> <cfset systime=Replace(systime," ","","ALL")>
> <cfset systime=#Ljustify(systime,14)#>
> <cfset systime=#insert(token1,systime,ran2)#>
> </cfloop>
> <cfset systime=Replace(systime," ","","ALL")>
> <cfoutput>#systime# Len: #len(systime)#<br>
> #int(systime)# - #val(systime)# - #NumberFormat(systime)# -
> #IsNumeric(systime)#<br>
> #int(systime_orig)# - #val(systime_orig)# - #NumberFormat(systime_orig)# -
> #IsNumeric(systime_orig)#
> <cfset base16_systime=#FormatBaseN(systime,16)#>
> <cfset base36_systime=#formatBaseN(systime_orig,36)#>
> <br>
> #base16_systime# - #base36_systime#
> </cfoutput>
> <cfabort> (This is here to stop further processing while I'm fixing it)
>
> On the Netscape server, the output is:
> 20150031924110 Len: 14
> 2.01500319241E+013 - 2.01500319241E+013 - 20,150,031,924,110 - YES
> 2.00104121051E+013 - 2.00104121051E+013 - 20,010,412,105,139 - YES
> 8b7ebb8e - 2my27n
>
> The IIS Server gets the following:
> 11410401429203 Len: 14
> 1.14104014292E+013 - 1.14104014292E+013 - 11,410,401,429,203 - YES
> 2.00104121049E+013 - 2.00104121049E+013 - 20,010,412,104,932 - YES
> --------------------------------------------------------------------------
--
> ----
> Error Occurred While Processing Request
> Error Diagnostic Information
>
> An error occurred while evaluating the expression:
>
>  base16_systime=#FormatBaseN(systime,16)#
>
> Error near line 56, column 7.
> --------------------------------------------------------------------------
--
> ----
> Parameter 1 of function FormatBaseN which is now "11410401429203" must be
an
> integer
>
> Any ideas or suggestions?
>
> TIA
> Hatton Humphrey
>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to