ID: 14382 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Old Summary: sprintf function doesn't print correct results Old Status: Open Status: Closed Old Bug Type: Math related Bug Type: Variables related Operating System: Debian GNU/Linux Old PHP Version: 4.1.0 PHP Version: New Comment:
This is the problem of syntax checking and locale settings. This script print a warning: setlocale(LC_ALL, "en_US"); // US have a decimal pointer $X = 1,22; // !!! bad syntax This script doesn't print a warning: setlocale(LC_ALL, "cs_CZ"); // CZ have a decimal comma $X = 1.22; // !!! also bad syntax The error caused by incorrect parsing of a float number is propagated into the next script lines and cause a false alerts in a many situations. When the variable is parsed as a string Previous Comments: ------------------------------------------------------------------------ [2001-12-07 13:47:35] [EMAIL PROTECTED] Sometimes (1-10 times a day) appears a fatal bug in my php code. Sometime this sprintf expression returns me string like '0.05-0%': <?echo $rs["pol_sazbadph"]."-".sprintf("%1.0f",$rs["pol_sazbadph"] * 100)."%"?> This bug appears to me on two different servers: 1) Athlon based 2.4.12-k6 kernel - Apache/1.3.22 - php 4.1.0 RC3 './configure' '--prefix=/usr' '--with-apxs=/usr/bin/apxs' '--with-config-file-path=/ etc/php4/apache' '--with-ibm-db2=/home/db2inst1/sqllib' 2) Pentium II based - 2.2.19pre17 kernel - Apache/1.3.9 - php 4.0.3pl1 './configure' '--prefix=/usr' '--with-apxs=/usr/bin/apxs' '--with-regex=system' '--with- config-file-path=/etc/php4/apache' '--with-db2' '--with-zlib' '--without-pgsql' '-- disable-static' '--with-layout=GNU' '--with-zlib-dir=/usr' '--with-mysql=shared,/usr' '-- with-ibm-db2=/home/db2inst1/sqllib' The bug appears after we have compiled php against db2 libraries. I've found another bug in sprintf with the same frequency of appearance in bugs database. There is something bad in sprintf in some cases, but what? ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=14382&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]