PHP 4.0 Bug #6884 Updated: problem getting a double variable from binary file
| From: | stas@php.net | Date: | Wed, 18 Oct 2000 10:37:37 +0000 |
| Subject: | PHP 4.0 Bug #6884 Updated: problem getting a double variable from binary file | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-35401@lists.php.net to get a copy of this message | ||
ID: 6884
Updated by: stas
Reported By: heinrich@noiseconcept.de
Status: Feedback
Bug Type: Variables related
Assigned To:
Comments:
Failed to reproduce the behaviour. Could you please provide a binary string that is decoded
incorrectly by unpack?
Also, note that unpack has different syntax than in perl (see the manual) so doesn't do what
you want, you should do $price=unpack("dvar",...) and use $price["var"] then.
Previous Comments:
---------------------------------------------------------------------------
[2000-09-26 02:40:06] heinrich@noiseconcept.de
Hi!
Probably this isn't a true bug, bit I couldn't find ANY
one (tried Newsgroups/IRC/Doc's..) who could explain this
to me:
I'm reading a price list from a file in which there are
(beyond other stuff) Product name and price saved.
Extracting the Product name is no problem but the price
is saved as a 8byte-double variable. So I used:
$price=unpack("d",substr($contents,211,8));
But this results in absolutely strange values like
8.3...+E-311 and so on. My file is valid since I've also
programmed this using Borland Delphi. There I use
the command "move" to move the part of the memory where
the file buffer is saved directly to the address of a
double variable. There it works quite fine. So - what's
wrong? (Although I'm KNOW that it's an 8byte double I
tried with any other decoding method from unpack like float,
single and so on... Nothing worked..
Please contact me If you know anything about that, it's
quite important for me :-}
Tnx a lot! - bye!
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=6884