seems to work. Relies on the typeless nature of CF:
<cffunction name="exponentialFormat" returnType="string">
<cfargument name="foo" type="numeric" required="true">
<cfif foo eq 0>
<cfset foo = "0E0">
<cfelseif foo gte 1>
<cfset foo = foo / (1 & repeatString("0", len(round(foo)) - 1)) &
"E" & (len(round(foo)) - 1)>
<cfelseif foo lt 1 and foo gt 0>
<cfset foo = foo * (1 & repeatString("0", len(round(1/foo)))) &
"E-" & len(round(1/foo))>
<cfelseif foo lt 0 and foo gt -1>
<cfset foo = foo * -1>
<cfset foo = foo * (1 & repeatString("0", len(round(1/foo)))) &
"E-" & len(round(1/foo))>
<cfset foo = "-" & foo>
<cfelseif foo lte -1>
<cfset foo = foo * -1>
<cfset foo = foo / (1 & repeatString("0", len(round(foo)) - 1)) &
"E" & (len(round(foo)) - 1)>
<cfset foo = "-" & foo>
</cfif>
<cfreturn foo>
</cffunction>
<cfoutput>
0 = #exponentialFormat(0)#<br>
-0.99999 = #exponentialFormat(-0.99999)#<br>
-123.333 = #exponentialFormat(-123.333)#<br>
0.1432 = #exponentialFormat(0.1432)#<br>
1.4 = #exponentialFormat(1.4)#<br>
324324 = #exponentialFormat(324324)#<br>
</cfoutput>
-joe
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]

