Edit report at https://bugs.php.net/bug.php?id=55290&edit=1
ID: 55290 User updated by: franssen dot roland at gmail dot com Reported by: franssen dot roland at gmail dot com Summary: \NumberFormatter::parseCurrency() fails Status: Open Type: Bug Package: I18N and L10N related -Operating System: Ubuntu 11.04 +Operating System: Linux -PHP Version: 5.3.6 +PHP Version: 5.3.6 - 5.3.8 Block user comment: N Private report: N New Comment: Still fails in 5.3.8... However it does seems to work when parsing in locale en[_US], e.g. $1 returns float(1) ("USD"). Didn't spot any other locales that work (mostly tested european locales; netherlands, germany, french) Previous Comments: ------------------------------------------------------------------------ [2011-07-28 07:04:52] franssen dot roland at gmail dot com Same code does works on PHP 5.2.17 (Linux) version 1.0.3 ICU version 3.6 ------------------------------------------------------------------------ [2011-07-26 20:23:42] franssen dot roland at gmail dot com Description: ------------ Hi, The example code at http://nl2.php.net/manual/en/numberformatter.parsecurrency.php doesn't seem to work for me. This is perhaps also related to bug #54163 (?) --- version 1.1.0 ICU version 4.4.1 Directive Local Value Master Value intl.default_locale no value no value intl.error_level 0 0 Test script: --------------- <?php $fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY ); $num = "1.234.567,89 $"; echo "We have ".numfmt_parse_currency($fmt, $num, $curr)." in $curr\n"; echo \PHP_EOL; $fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY ); $num = "1.234.567,89 $"; echo "We have ".$fmt->parseCurrency($num, $curr)." in $curr\n"; die; Expected result: ---------------- We have 1234567.89 in USD We have 1234567.89 in USD Actual result: -------------- We have <FALSE> in <NULL> We have <FALSE> in <NULL> ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55290&edit=1