PHP intl NumberFormatter::parse() problem
 
SlimDeluxe 9. apr 2014 12:27:48 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#1

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



všeč(0) ni všeč(0) spam(0)
Freelance Web Developer
 
bostjan 9. apr 2014 12:46:52 Pridružen od:
31. jul 2008
643 objav
689 30 9
#2
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>
všeč(0) ni všeč(0) spam(0)
 
SlimDeluxe 9. apr 2014 13:04:00 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#3

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š).


všeč(0) ni všeč(0) spam(0)
Freelance Web Developer
 
bostjan 9. apr 2014 13:17:11 Pridružen od:
31. jul 2008
643 objav
689 30 9
#4

ok new one:


bostjan@muha2:~$ php -v
PHP 5.4.27-1~dotdeb.0 (cli) (built: Apr 6 2014 01:37:13)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
bostjan@muha2:~$ php test.php
sl_SI.UTF-8
1234567.891
C
bostjan@muha2:~$
všeč(1) ni všeč(0) spam(0)
 
SlimDeluxe 9. apr 2014 14:43:23 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#5

Ok tudi tebi resetira, hvala ti za potrditev :)


všeč(0) ni všeč(0) spam(0)
Freelance Web Developer
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se