[Gambas-user] Hex string to float

Benoit Minisini gambas at ...1...
Sun Dec 14 22:28:35 CET 2008


On dimanche 14 décembre 2008, nando wrote:
> My apologies to all...I stand corrected for my mistake.
> The i = &h3fd55555& converts hex to integer and is easiest to do it this
> way. This method does performs as the original person wanted but is a waste
> to do disk IO.  Perhaps a pipe, write the integer, read the single.
> Although I haven't investigated, Gambas3 has pointers.
> Copying 4B from a pointer to the 4B int to the 4B single will do it.
> There are (older) versions of BASIC that had (something like) MKI$, MKS$,
> MKD$ and counterparts (something like) CVI, CVS, CVD.  They took a string
> and converted it to an Int Single Double.  No conversion happened because
> the string was binary correct for the type. All it did was copy 2B, 4B 8B
> from/to a numeric var to/from string.
>  If Benoit were to incorporate these functions, it makes Gambas easily
> perform IO of data types with ease to convert to native variables.
> Thanks,
> -Fernando
>

Yeh, this is planed.

Anyway, you can do these conversion in Gambas 2 (and 3) this way:

DIM sSrc AS String
DIM eDst AS Float
DIM pPtr AS Pointer

pPtr = Alloc(8)
WRITE #pPtr, sSrc, 8
READ #pPtr, eDst
Free(pPtr)

But beware with the endianness!

-- 
Benoit Minisini




More information about the User mailing list