#10411 [Com]: number_format returns wrong values
| From: | yossi_shelli at cso dot co dot il | Date: | Tue, 21 Sep 2004 10:30:37 +0000 |
| Subject: | #10411 [Com]: number_format returns wrong values | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-66486@lists.php.net to get a copy of this message | ||
ID: 10411
Comment by: yossi_shelli at cso dot co dot il
Reported By: mark at artshouse dot com
Status: Closed
Bug Type: Unknown/Other Function
Operating System: Solaris 8, Slackware 7.0
PHP Version: 4.0.4pl1
New Comment:
I have the same problem here.
Running on windows 2000 , php version 4.3.7, Apache/2.0.49.
Tryed everything and every vriable with a number smaller then 1000
return a normal result. but a vriable with a number greater then 1000
return 1.00 as a result.
If i put a constant number instaed of vriable in the first parameter of
number_format (e.g. number_format (1099,2)) then the result will be ok.
My shop is also running on linux, tryed it on it, and the same results
:(
if anyone of u got answer to this problem, or a way to byepass it
please respond to this.
Yossi shelli
Previous Comments:
------------------------------------------------------------------------
[2001-04-20 15:14:01] mark at artshouse dot com
That was just a typo on my part entering the information
here. The bug still exists, and I think it specifically
has to do with values set as float,2 from MySQL. It doesn't
happen every time, but I have seen this on at least 5
occasions now (in 5 different sets of code).
I can recreate it within my code, but you don't want me to
paste my code (its all intermingled in a 600 lines of
script)
check it out specifically using values pulled from MySQL
with a type of float,2.
Here's the kicker, if I do something like
$total=number_format($totals,2); print $total; the bug
exists...if I do print number_format($totals,2) it works
normally.
------------------------------------------------------------------------
[2001-04-19 17:53:57] joey@php.net
Try changing:
$total = number_format($calcs_a + calcs_b,2);
to
$total = number_format($calcs_a + $calcs_b,2);
(Note the missing $)
Works just fine here with that small adjustment.
------------------------------------------------------------------------
[2001-04-19 17:35:01] mark at artshouse dot com
number_format returns wrong values in certain situations,
here is a code example...
$value = 504;
$calcs_a = number_format($value,2);
$othervalue = 504;
$calcs_b = number_format($othervalue,2);
$total = number_format($calcs_a + calcs_b,2);
this returns:
$calcs_a is 504.00
$calcs_b is 504.00
$total is 1.00 (should be 1008.00)
I have seen this on several occasions now on multiple
machines/setups/Oses
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=10411&edit=1