[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