On 15/05/2008, John Gunther <php@xxxxxxxxxxxxxxxx> wrote: > Iv Ray wrote: > > > John Gunther wrote: > > > What technique can I use to take an 8-byte double precision value, as > > > stored internally, and assign its value to a PHP float variable without > > > having the bytes misinterpreted as a character string. > > > > Does it get misinterpreted, or do you just want to be sure? > > > > The documentation says - > > > > "Some references to the type "double" may remain in the manual. Consider > double the same as float; the two names exist only for historic reasons." > > > > Does this cover your case? > > > > Iv > > > No. > > Example: I extract the 8 bytes 40 58 FF 5C 28 F5 C2 8F from an external > file, which is the internal double precision float representation of the > decimal value 99.99. Starting with that byte string, how can I create a PHP > variable whose value is 99.99? Reversing the order of bytes then using unpack('d') works for me. <?php $bytes = pack('H*', '4058FF5C28F5C28F'); $output = unpack('d', strrev($bytes)); print array_shift($output) . "\n"; // 99.99 ?> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php