PHP intl NumberFormatter::parse() problem
2 naročnika
2 naročnika
Ali lahko še kdo z PHP >= 5.4 preveri, ali mu spodnja parse metoda resetira LC_NUMERIC na "C", da lahko prijavim bug (ki ga ne gre prijaviti za 5.3).
<?php
setlocale(LC_ALL, 'sl_SI.UTF-8');
echo setlocale(LC_NUMERIC, 0) . "\n";
$fmt = new NumberFormatter( 'sl_SI.UTF-8', NumberFormatter::DECIMAL);
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo setlocale(LC_NUMERIC, 0);
Meni vrne:
sl_SI.UTF-8
1234567.891
C
4 odgovori
d:\1>php -v
PHP 5.4.16 (cli) (built: Jun 5 2013 21:00:57)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
d:\1>php test.php
C
1234567.891
C
d:\1>
Očitno slSI locale sploh nimaš (z "locale -a" bi lahko preveril oz. "sudo locale-gen slSI.utf8" generiral, samo vidim da si na windows, tam pa nimam blage s čim to narediš).