ID: 31180 User updated by: patrick at ilmander dot com Reported By: patrick at ilmander dot com Status: Bogus Bug Type: Unknown/Other Function Operating System: Red Hat Linux PHP Version: 4.3.10 New Comment:
I'm sorry, I should have given you more details. The problem doesn't seem to be printf() itself, but where I used it. I was using the following code: "Rating: <b><?=printf("%.2f", $rating)?></b>" which worked fine in 4.3.4, but when we upgraded to 4.3.10 it produced the stated error. I've updated all my code to "Rating: <b><?php printf("%.2f", $rating)?></b>" which works fine. I probably shouldn't have used printf() inside a <?= ?> in the first place, but it worked fine in 4.3.4 and not in 4.3.10, that's why I reported it as a bug. Sorry for wasting your time. // Patrick Previous Comments: ------------------------------------------------------------------------ [2004-12-19 19:18:44] [EMAIL PROTECTED] works fine. ------------------------------------------------------------------------ [2004-12-19 16:54:24] postings-php-bug at hans-spath dot de I've tried it under PHP 4.3.10/Linux 2.6 and PHP 4.3.8/WinXPsp2, works as it should. Could you test with "_%.2f_", just to get sure the last digit isn't coming from somewhere else in your code? ------------------------------------------------------------------------ [2004-12-18 23:43:48] [EMAIL PROTECTED] This works fine here: $ php-4.3dev -r 'echo sprintf("%.2f", 42.1231213123);' 42.12 ------------------------------------------------------------------------ [2004-12-18 12:20:20] patrick at ilmander dot com Printing a variable with %.2f should output the number with 2 decimals. After upgrading to 4.3.10 it now outputs 3 decimals. %.1f outputs with 2 decimals and I haven't figured out how to print out just 1 decimal (%.0f doesn't work), so I'm treating this as a bug. ------------------------------------------------------------------------ [2004-12-18 12:18:54] patrick at ilmander dot com Description: ------------ Printing a variable with %.2f should output the number with 2 decimals. After upgrading to 4.3.10 it now outputs 3 decimals. %.1f outputs with 2 decimals and I haven't figured out how to print out just 1 decimal (%.1f doesn't work), so I'm treating this as a bug. Reproduce code: --------------- printf("%.2f", $member[score] / $member[votes]); Expected result: ---------------- 1.23 Actual result: -------------- 1.234 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31180&edit=1