ID: 24591 User updated by: arnarb at oddi dot is Reported By: arnarb at oddi dot is Status: Open Bug Type: Scripting Engine problem Operating System: Linux 2.4.18 -PHP Version: 4.3.2 +PHP Version: 4.3.3RC1 New Comment:
Tried upgrading to 4.3.3RC1, still the same. Therefore bumping the version tag on this report. Previous Comments: ------------------------------------------------------------------------ [2003-07-10 10:52:19] arnarb at oddi dot is Description: ------------ When strings containing numbers in the locale format, and the locale uses , as the decimal seperator, converting the string to a float cuts off at the , and returns the integer part. This was addressed in bugs #17105, #17815 and others. Those reports were closed and the problem was claimed to be fixed in CVS as of November 2002 by iliaa and sniper. This bug is however still present in 4.3.2, as the reproduce code demonstrates. A quick look indicated that libc's strtod was being used for the conversion, I verified that it is working on my platform. Reproduce code: --------------- <?php printf("%.3f\n", 3.233); print sprintf("%.3f", 3.233)+1; print "\n"; setlocale(LC_ALL, "is_IS"); printf("%.3f\n", 3.233); print sprintf("%.3f", 3.233)+1; print "\n"; ?> Expected result: ---------------- 3.233 4.233 3,233 4,233 Actual result: -------------- 3.233 4.233 3,233 4 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24591&edit=1