wrong number of decimal digits with %e specifier in sprintf
| Bug #36392 | wrong number of decimal digits with %e specifier in sprintf | ||||
|---|---|---|---|---|---|
| Submitted: | 2006-02-14 19:15 UTC | Modified: | 2006-12-22 15:30 UTC | ||
| From: | tomas_matousek at hotmail dot com | Assigned: | |||
| Status: | Closed | Package: | Strings related | ||
| PHP Version: | 5.1.3RC3, 4.4.2 | OS: | * | ||
| Private report: | No | CVE-ID: | None | ||
[2006-02-14 19:15 UTC] tomas_matousek at hotmail dot com
Description:
------------
Format specifier %e (scientific number) in sprintf() function gives results with wrong number of decimal digits and in one particular case it gives a mess.
Reproduce code:
---------------
echo sprintf("%e\n", 1.123456789);
echo sprintf("%.10e\n", 1.123456789);
echo sprintf("%.0e\n", 1.123456789); // this gives a mess
echo sprintf("%.1e\n", 1.123456789);
echo sprintf("%5.1e\n", 1.123456789);
Expected result:
----------------
1.123457e+0
1.1234567890e+0
1e+0
1.1e+0
1.1e+0
Actual result:
--------------
1.12346e+0
1.123456789e+0
.0e+0123456789
1.e+0
1.e+0
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-12-22 15:30 UTC] iliaa@php.net