#40482 [Bgs->Opn]: Sprintf format specifier "e" output modification

From: Date: Thu, 15 Feb 2007 10:48:32 +0000
Subject: #40482 [Bgs->Opn]: Sprintf format specifier "e" output modification
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-108962@lists.php.net to get a copy of this message
ID: 40482 User updated by: kore@php.net Reported By: kore@php.net -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: http://de3.php.net/manual/en/function.sprintf.php 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] tony2001@php.net 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] kore@php.net 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: 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 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 http://bugs.php.net/?id=40482&edit=1

« previous php.bugs (#108962) next »