Edit report at https://bugs.php.net/bug.php?id=55290&edit=1

 ID:                 55290
 Comment 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:   Linux
 PHP Version:        5.3.6 - 5.3.8
 Block user comment: N
 Private report:     N

 New Comment:

Tested the example code once more (copy-paste) on PHP 5.4.10 (ICU version 
4.4.1, ICU Data version 4.4.0.1).

It still fails :') Also re-typing the code didnt help;

<?php
$fmt = numfmt_create('de_DE', NumberFormatter::CURRENCY);
$num = '1.234.567,89 $';
$curr = null;
echo 'We have ' . numfmt_parse_currency($fmt, $num, $curr) . ' in ' . $curr . 
PHP_EOL;

echo PHP_EOL;

$fmt = new NumberFormatter('de_DE', NumberFormatter::CURRENCY);
$num = '1.234.567,89 $';
$curr = null;
echo 'We have ' . $fmt->parseCurrency($num, $curr) . ' in ' . $curr . PHP_EOL;


Previous Comments:
------------------------------------------------------------------------
[2013-01-02 08:35:24] fkrautwald at gmail dot com

I don’t believe it is a bug. The problem is the example code. It errors when 
you 
copy it. There is some invisible invalid character between the space and the 
dollar sign, I believe. Try to replace the space character and the dollar sign 
in 
the `$num` variable, typing it.

You can also check it with this code:

$fmt = new \NumberFormatter('de_DE', \NumberFormatter::CURRENCY);
$num = "1.234.567,89 $";
print "We have ".$fmt->parseCurrency($num, $curr)." in $curr\n";

------------------------------------------------------------------------
[2012-10-23 12:41:26] mail at michael-weimann dot eu

Doesn't work in PHP 5.3.10

intl version 1.1.0
ICU version 4.8.1.1
ICU Data version 4.8.1

------------------------------------------------------------------------
[2012-05-05 09:15:37] franssen dot roland at gmail dot com

Still fails in PHP 5.4RC9...

version                 1.1.0
ICU version             4.4.2
ICU Data version        4.4.2

------------------------------------------------------------------------
[2011-11-09 04:56:08] johnlinton at mailinator dot net

Seeing the same issue except I am using PHP 5.3.8 as a fcgi module under apache 
2.2 on Windows 7.

------------------------------------------------------------------------
[2011-08-23 18:09:34] franssen dot roland at gmail dot com

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)

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=55290


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=55290&edit=1

Reply via email to