Edit report at https://bugs.php.net/bug.php?id=55160&edit=1
ID: 55160 Updated by: m...@php.net Reported by: everton at faccat dot br Summary: Unexpected result on bccomp when using any decimal comma locale -Status: Open +Status: Not a bug Type: Bug Package: BC math related Operating System: Ubuntu 10.04 LTS 64bits PHP Version: trunk-SVN-2011-07-08 (snap) Block user comment: N Private report: N New Comment: This is actually expected behaviour because bcmath operates on strings and PHP casts numbers to strings according to locale. Previous Comments: ------------------------------------------------------------------------ [2011-07-08 08:36:47] everton at faccat dot br added OS additional information ------------------------------------------------------------------------ [2011-07-08 08:27:56] everton at faccat dot br Description: ------------ Unexpected result on bccomp when using any decimal comma locale. If an operand is a fraction, and the other is zero, the result seems to be wrong. Test script: --------------- <?php print setlocale(LC_ALL, "C")."\n"; print 1.1."\n"; print bccomp(1.1, 0)."\n"; //changing locale to a country which uses decimal comma print setlocale(LC_ALL, "en_DK.UTF-8")."\n"; print 1.1."\n"; print bccomp(1.1, 0)."\n"; print setlocale(LC_ALL, "pt_BR.UTF-8")."\n"; print 1.1."\n"; print bccomp(1.1, 0)."\n"; ?> Expected result: ---------------- C 1.1 1 en_DK.UTF-8 1,1 1 pt_BR.UTF-8 1,1 1 Actual result: -------------- C 1.1 1 en_DK.UTF-8 1,1 0 pt_BR.UTF-8 1,1 0 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55160&edit=1