hope someone can help me solve this problem,

i'm trying to implement a 80 bit ftoa procedure, to get 18 digits

in sci format, as for example 1.23000000000000000e+2

here's my method:

(1) i = int( log10(float) )

(2) st0 = (10^(17-i))*float

(3) fbstp tword temp

(4) convert the bcd number in temp to proper string.

my problem is geting the proper power of ten

because quite often the result is something like 0.99000000000000000e+1

instead of 9.90000000000000000e+0

i'm using PureBasic and inline assembly, hope nobody

needs to see the code as it's horrible.

thanks

i'm trying to implement a 80 bit ftoa procedure, to get 18 digits

in sci format, as for example 1.23000000000000000e+2

here's my method:

(1) i = int( log10(float) )

(2) st0 = (10^(17-i))*float

(3) fbstp tword temp

(4) convert the bcd number in temp to proper string.

my problem is geting the proper power of ten

because quite often the result is something like 0.99000000000000000e+1

instead of 9.90000000000000000e+0

i'm using PureBasic and inline assembly, hope nobody

needs to see the code as it's horrible.

thanks

Have a look at the source code of the FpuFLtoA function of the Fpu library available for download on the MASM32 forum.

Just do a search for Fpu library updates on the MASM32 forum for the latest revision.

Raymond

Just do a search for Fpu library updates on the MASM32 forum for the latest revision.

Raymond