ID:               43053
 User updated by:  owner at dragon-hearts dot net
 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:

If it's because they're floats why doesn't it happen in earlier
versions of php i.e. 5.2.1? It makes migrating from php 5.2.1 to
anything higher a nightmare since any site using these numbers will no
longer work (i.e. mine didn't if you try and update mysql with what you
expect to be a non scientific number i.e 1000000 and it tries 1E+6 it'll
update it with 1 not 1000000) that causes real problems.


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

[2007-11-12 10:19:01] [EMAIL PROTECTED]

The explanation is quite simple: the number are floats.
There is not guarantee that "1200000.00" is actually represented and/or
stored like that.
In this particular case, "1300000.00" is stored like "1299999.99", so
there are no zeros to compress.

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

[2007-10-25 13:41:44] [EMAIL PROTECTED]

That last comment's script gives the same output for me, there's
definately something strange going on here. :)

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

[2007-10-22 16:51:25] rbro at hotmail dot com

I am also running into this issue but only for certain float values. 
The original example posted works correctly for me, but other float
values are printed in scientific notation while others aren't.  It is
related to the issue I reported in bug 42871 which was marked bogus.  I
am running against php5.2-200710221430.

Reproduce code:
---------------
<?php
echo 1200000.00."\n";
echo 1300000.00."\n";
echo 1400000.00."\n";
echo 1500000.00."\n";

Expected result:
----------------
1200000
1300000
1400000
1500000

Actual result:
--------------
1.2E+6
1300000
1.4E+6
1500000

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

[2007-10-22 10:25:22] owner at dragon-hearts dot net

I tried it with small numbers too try this

$var1=0.00001;
$var2=1;
echo  $var1*$var2;


It prints out as 1.0E-5

Instead of 0.00001

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

[2007-10-22 08:13:33] [EMAIL PROTECTED]

Works fine for me too.

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

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