From: prgallier at yahoo dot com Operating system: Linux 2.4.20 PHP version: 4.3.2 PHP Bug Type: Strings related Bug description: sprintf with negative floating point type leaves null in string
Using sprintf with a floating point value for a negative number leaves a null character in the string, such as: $num = sprintf("%0.1f", -12.5); $num will contain the following characters within the actual string when printing out: 0x45 0x31 0x32 0x2E 0x35 0x00 This does not occur with non-negative numbers. Try the following for realtime example: <?php $num = sprintf("%0.1f", 12.5); echo "Positive Num: $num<br>\n"; $num = sprintf("%0.1f", -12.5); echo "Negative Num: $num<br>\n"; ?> This is apparently an old bug that's been reintroduced in version 4.3.2. -- Edit bug report at http://bugs.php.net/?id=24030&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=24030&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=24030&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=24030&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=24030&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=24030&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=24030&r=support Expected behavior: http://bugs.php.net/fix.php?id=24030&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=24030&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=24030&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=24030&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=24030&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=24030&r=dst IIS Stability: http://bugs.php.net/fix.php?id=24030&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=24030&r=gnused