php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
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
Status: Closed Package: Math related
PHP Version: 4CVS, 5CVS (2005-01-10) OS: *
Private report: No CVE-ID:
 [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

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-01-10 17:00 UTC] sniper@php.net
See also bug #30069

This works fine with e.g. PHP 4.2.2 :)

 [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.


 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Wed Apr 16 04:02:11 2014 UTC