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

 ID:                 53735
 Comment by:         martin at tajur dot ee
 Reported by:        mortenskyt at gmail dot com
 Summary:            NumberFormatter returns NaN when converting float
                     point
 Status:             Open
 Type:               Bug
 Package:            I18N and L10N related
 Operating System:   MacOS X 10.6.6
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

The exact same thing happens on all Debian Squeeze installations, given that 
php5-
intl bundle is installed from the default debian package sources. The error 
appears right after switching locale to something other than default ("en", 
presumably) and trying to format a number with a comma using NumberFormatter. I 
was able to fix the issue on Debian Lenny by manually downgrading ICU library 
to 
3.8 but ICU 3.8 does not work on Squeeze which raises importance of this issue 
even more.


Previous Comments:
------------------------------------------------------------------------
[2011-01-24 01:36:31] s...@php.net

I works for me with ICU 4.3.4. Maybe they broke something in 4.6... 
May be related to this ticket: http://bugs.icu-project.org/trac/ticket/6711

------------------------------------------------------------------------
[2011-01-22 13:40:59] mortenskyt at gmail dot com

Hello again,

On my Mac with PHP 5.3.5 from Macports:

Internationalization support => enabled
version => 1.1.0
ICU version => 4.6

(same version on non-working FreeBSD PHP 5.3.4-machine)


The FreeBSD-machine with PHP 5.3.3, which works with no issues:

Internationalization support => enabled
version => 1.0.3
ICU version => 3.8.1

------------------------------------------------------------------------
[2011-01-22 08:41:40] s...@php.net

Works for me in 5.3 on Mac OS X. Which ICU version do you have (check 
phpinfo())?

------------------------------------------------------------------------
[2011-01-13 14:46:59] mortenskyt at gmail dot com

Description:
------------
In PHP 5.3.5, giving float point values to numfmt_format doesn't work when 
setlocale is set to a country using comma instead of dot in floating point.

Also does not work in PHP 5.3.4 (FreeBSD)

DOES work on 5.3.3 (FreeBSD)


Perhaps interesting notes from my configuration:

intl
Internationalization support => enabled
version => 1.1.0
ICU version => 4.6

Directive => Local Value => Master Value
intl.default_locale => no value => no value
intl.error_level => 0 => 0

Test script:
---------------
<?php
$fmt = numfmt_create("da_DK", \NumberFormatter::CURRENCY);

echo numfmt_format($fmt, 5.5)."\n";
setlocale(LC_ALL, "da_DK.UTF-8");

echo numfmt_format($fmt, 5.5)."\n";
echo numfmt_format($fmt, "5,5")."\n";

Expected result:
----------------
5,50 kr
5,50 kr
5,00 kr

Actual result:
--------------
5,50 kr
NaN
5,00 kr


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



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

Reply via email to