Negative floats <1 as strings don't work in calculations

Bug #30726 Negative floats <1 as strings don't work in calculations
Submitted: 2004-11-09 01:10 UTC Modified: 2005-01-18 01:31 UTC
Votes:4
Avg. Score:4.5 ± 0.9
Reproduced:4 of 4 (100.0%)
Same Version:1 (25.0%)
Same OS:1 (25.0%)
From: degusta at yahoo dot com Assigned: iliaa (profile)
Status: Closed Package: Math related
PHP Version: 4CVS, 5CVS (2005-01-10) OS: *
Private report: No CVE-ID: None

 [2004-11-09 01:10 UTC] degusta at yahoo dot com

Description:
------------
Strings that are between 0 and -1 and don't have a leading zero, e.g. "-.2", "-.95", etc, do not get cast to floats.

This is a variant of bug 30069 which was closed with 4.3.9. That fix did solve the problem for positive floats (".1", ".4", etc), but apparently not for negative floats.

The bug is still present in CVS as of 11/8/04 (php4-STABLE-200411082130). I haven't checked the 5 branch yet, but my guess is that it's wrong there too since 30069 also existed in the 5 branch.

Every past version of PHP has cast this properly (up through and including 4.3.8).


Reproduce code:
---------------
echo '-.1' * 2;


Expected result:
----------------
-0.2

Actual result:
--------------
0

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2005-01-10 21:05 UTC] sniper@php.net

Assigned to Ilia per his request.

 [2005-01-18 01:31 UTC] iliaa@php.net

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.