ID:               43053
 Comment by:       rbro at hotmail dot com
 Reported By:      owner at dragon-hearts dot net
 Status:           Verified
 Bug Type:         Scripting Engine problem
 Operating System: Centos4
 PHP Version:      5CVS-2007-10-25
 New Comment:

I agree - to me, this is a BC break that wasn't listed on any changelog
or announcement.  I have been holding off on upgrading my PHP version to
anything later than 5.2.1 because of this issue.


Previous Comments:
------------------------------------------------------------------------

[2008-03-04 23:07:43] tech at dragonara dot net

We have the same bug, and really - cPanel does not support 5.1 anymore,
so we are really in stupid situation.

------------------------------------------------------------------------

[2008-02-09 13:20:23] lhfagundes at gmail dot com

This gets bad if the float is casted to string (which happens if it
goes through requests):

$x = 1200000000.00;
echo $x . "\n";
echo (int)$x . "\n";
$x = "$x";
echo (int) $x . "\n";

In PHP 4.4.2 (I guess in earlier php5 too)

1200000000
1200000000
1200000000

now:

1.2E+9
1200000000
1

------------------------------------------------------------------------

[2008-01-28 13:39:47] gcleaves at yahoo dot com dot au

Same problem:

PHP Version 5.2.4
Windows NT HGCT-SQL 5.2 build 3790
Apache 2.0 Handler

------------------------------------------------------------------------

[2008-01-26 02:18:38] [EMAIL PROTECTED]

This issue is still present in PHP 5.2.5 (FreeBSD). It only happens on
some floats. 

If there is a reason for using E-notation in this case - which could be
argued, although I feel changing past behavior is not necessary,
especially as MySQL has trouble handling these values in common
scenarios - it should be made consistent so people can depend on it and
prevent problems by testing.

<?php

echo phpversion() . "\n";
echo 2700000.0;
echo "\n";
echo 2800000.0;
echo "\n";
echo 2900000.0;
echo "\n";

?>

devwh:~> php floats.php
5.2.1
2700000
2800000
2900000

test:~> php floats.php
5.2.4
2700000
2.8E+6
2900000

toms1:~> php floats.php
5.2.5
2700000
2.8E+6
2900000

------------------------------------------------------------------------

[2008-01-18 21:42:38] nate at recoverydatabase dot net

We just got bit by this on one of our servers running Fedora 7 and PHP
5.2.4 installed via yum.  The others not causing any headaches are
running Fedora 6 and PHP 5.1.6.

It's not just a display problem - we have a mysql database with very
large values in the primary keys, and when this server tries to insert
data, or display, or lookup information based on those values it fails
miserably.

A php.ini option to disable the notation behavior would be nice.  As
for right now I must get back to downgrading.  :(

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/43053

-- 
Edit this bug report at http://bugs.php.net/?id=43053&edit=1

Reply via email to