Here is an example that I posted on Yahoo as a response to the original poster. The longSci$() function returns an extended precision version of a floating point number. This is just the beginning of an ultimate solution because it only works with numbers between 0 and 1.

Please consider yourselves invited to extend it. ;)

-Carl

**Code:** global pad$
pad$ = replstr$(space$(15), " ", "#")+"."+replstr$(space$(300), " ", "#")
a=123456789
for n=1 to -15 step -1
b=a^n
print n; tab(5);longSci$(b); tab(30); b
next n
end
function longSci$(value)
shortForm$ = str$(value)
if left$(shortForm$, 2) = "0." or left$(shortForm$, 3) = "-0." then
offset = val(mid$(shortForm$, instr(shortForm$, "-")+1))
end if
longForm$ = using(left$(pad$, offset+16+15),value)
longForm$ = trim$(longForm$)
if instr(longForm$,"0.") = 1 then
longSci$ = "0."+left$(mid$(longForm$, offset+3), 16)+"e-"+str$(offset)
if value < 0 then longSci$ = "-" + longSci$
else
longSci$ = shortForm$
end if
end function