Ask a Question related to PHP Bugs, Design and Development.
-
kore@php.net #1
#40482 [NEW]: Sprintf format specifier "e" output modification
From: [email]kore@php.net[/email]
Operating system: Linux 2.6.20
PHP version: 5.2.1
PHP Bug Type: Output Control
Bug description: Sprintf format specifier "e" output modification
Description:
------------
There is no real category for sprintf() or string functions issues, I hope
the selected one fits the issue.
Between PHP 5.2.1 RC1 and PHP 5.2.1 the resulting output with the format
specifier "e" changed. All PHP version prior to 5.2.1 tested by me have
the same result as PHP 5.2.0.
Even the tests were changed to reflect this new behavior:
[url]http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sprintf_f_2.phpt?r1=1.1.2.3&r2=1.1.2.4[/url]
Reproduce code:
---------------
$ php -r 'var_dump( sprintf( "%.3e", 0.0000234 ) );'
Expected result:
----------------
string(7) "2.34e-5"
Actual result:
--------------
string(8) "2.340e-5"
--
Edit bug report at [url]http://bugs.php.net/?id=40482&edit=1[/url]
--
Try a CVS snapshot (PHP 4.4): [url]http://bugs.php.net/fix.php?id=40482&r=trysnapshot44[/url]
Try a CVS snapshot (PHP 5.2): [url]http://bugs.php.net/fix.php?id=40482&r=trysnapshot52[/url]
Try a CVS snapshot (PHP 6.0): [url]http://bugs.php.net/fix.php?id=40482&r=trysnapshot60[/url]
Fixed in CVS: [url]http://bugs.php.net/fix.php?id=40482&r=fixedcvs[/url]
Fixed in release: [url]http://bugs.php.net/fix.php?id=40482&r=alreadyfixed[/url]
Need backtrace: [url]http://bugs.php.net/fix.php?id=40482&r=needtrace[/url]
Need Reproduce Script: [url]http://bugs.php.net/fix.php?id=40482&r=needscript[/url]
Try newer version: [url]http://bugs.php.net/fix.php?id=40482&r=oldversion[/url]
Not developer issue: [url]http://bugs.php.net/fix.php?id=40482&r=support[/url]
Expected behavior: [url]http://bugs.php.net/fix.php?id=40482&r=notwrong[/url]
Not enough info: [url]http://bugs.php.net/fix.php?id=40482&r=notenoughinfo[/url]
Submitted twice: [url]http://bugs.php.net/fix.php?id=40482&r=submittedtwice[/url]
register_globals: [url]http://bugs.php.net/fix.php?id=40482&r=globals[/url]
PHP 3 support discontinued: [url]http://bugs.php.net/fix.php?id=40482&r=php3[/url]
Daylight Savings: [url]http://bugs.php.net/fix.php?id=40482&r=dst[/url]
IIS Stability: [url]http://bugs.php.net/fix.php?id=40482&r=isapi[/url]
Install GNU Sed: [url]http://bugs.php.net/fix.php?id=40482&r=gnused[/url]
Floating point limitations: [url]http://bugs.php.net/fix.php?id=40482&r=float[/url]
No Zend Extensions: [url]http://bugs.php.net/fix.php?id=40482&r=nozend[/url]
MySQL Configuration Error: [url]http://bugs.php.net/fix.php?id=40482&r=mysqlcfg[/url]
kore@php.net Guest
-
#36392 [Asn->Csd]: wrong number of decimal digits with %e specifier in sprintf
ID: 36392 Updated by: iliaa@php.net Reported By: tomas_matousek at hotmail dot com -Status: Assigned +Status: ... -
#39775 [NEW]: "Indirect modification ..." message is not shown
From: toomuchphp-phpbugs at yahoo dot com Operating system: OS X PHP version: 5.2.0 PHP Bug Type: Class/Object related Bug... -
"Acrobat PDF file format is having difficulties expected a non-negative integer"
Posted this in a wrong folder before. Opening many of my AI 10 docs in AI CS is getting me this error message: "Acrobat PDF file format is having... -
#25152 [Opn->Bgs]: output buffering functions don't catch "virtual" output
ID: 25152 Updated by: iliaa@php.net Reported By: msarsale at buenosaires dot gov dot ar -Status: Open +Status:... -
"NBF"/The Next "Big" Format - The Near Future..
Its seems that roughly every 5-10? years there comes out a new consumer format as an "alternate" to 35mm equipment for amature use. (Not including... -
tony2001@php.net #2
#40482 [Opn->Bgs]: Sprintf format specifier "e" output modification
ID: 40482
Updated by: [email]tony2001@php.net[/email]
Reported By: [email]kore@php.net[/email]
-Status: Open
+Status: Bogus
Bug Type: Output Control
Operating System: Linux 2.6.20
PHP Version: 5.2.1
New Comment:
That was actually a bugfix.
sprintf( "%.3e", 0.0000234 );
^^^^ it's "3 digits after the floating point"
string(8) "2.340e-5"
^^^ 3 digits, not 2.
Previous Comments:
------------------------------------------------------------------------
[2007-02-14 12:44:18] [email]kore@php.net[/email]
Description:
------------
There is no real category for sprintf() or string functions issues, I
hope the selected one fits the issue.
Between PHP 5.2.1 RC1 and PHP 5.2.1 the resulting output with the
format specifier "e" changed. All PHP version prior to 5.2.1 tested by
me have the same result as PHP 5.2.0.
Even the tests were changed to reflect this new behavior:
[url]http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sprintf_f_2.phpt?r1=1.1.2.3&r2=1.1.2.4[/url]
Reproduce code:
---------------
$ php -r 'var_dump( sprintf( "%.3e", 0.0000234 ) );'
Expected result:
----------------
string(7) "2.34e-5"
Actual result:
--------------
string(8) "2.340e-5"
------------------------------------------------------------------------
--
Edit this bug report at [url]http://bugs.php.net/?id=40482&edit=1[/url]
tony2001@php.net Guest
-
kore@php.net #3
#40482 [Bgs->Opn]: Sprintf format specifier "e" output modification
ID: 40482
User updated by: [email]kore@php.net[/email]
Reported By: [email]kore@php.net[/email]
-Status: Bogus
+Status: Open
Bug Type: Output Control
Operating System: Linux 2.6.20
PHP Version: 5.2.1
New Comment:
You could see the the number as the precision of the output number. You
normally won't ever get more then one digit in front of the decimal
point with scientific notation. Even PHP 5.2.1 acts like this:
# php -r 'var_dump( sprintf( "%2.3e", 5555555555 ) );'
string(8) "5.556e+9"
If you still do not want to change the behavior back to the old one,
the new behavior should be documented:
[url]http://de3.php.net/manual/en/function.sprintf.php[/url] Example #2308 still
shows the old behavior. In this case feel free to change the bugs
category to a documentation bug.
Previous Comments:
------------------------------------------------------------------------
[2007-02-14 12:49:04] [email]tony2001@php.net[/email]
That was actually a bugfix.
sprintf( "%.3e", 0.0000234 );
^^^^ it's "3 digits after the floating point"
string(8) "2.340e-5"
^^^ 3 digits, not 2.
------------------------------------------------------------------------
[2007-02-14 12:44:18] [email]kore@php.net[/email]
Description:
------------
There is no real category for sprintf() or string functions issues, I
hope the selected one fits the issue.
Between PHP 5.2.1 RC1 and PHP 5.2.1 the resulting output with the
format specifier "e" changed. All PHP version prior to 5.2.1 tested by
me have the same result as PHP 5.2.0.
Even the tests were changed to reflect this new behavior:
[url]http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/sprintf_f_2.phpt?r1=1.1.2.3&r2=1.1.2.4[/url]
Reproduce code:
---------------
$ php -r 'var_dump( sprintf( "%.3e", 0.0000234 ) );'
Expected result:
----------------
string(7) "2.34e-5"
Actual result:
--------------
string(8) "2.340e-5"
------------------------------------------------------------------------
--
Edit this bug report at [url]http://bugs.php.net/?id=40482&edit=1[/url]
kore@php.net Guest



Reply With Quote

