Ja to mam pecha na te liczby zmiennoprzecinkowe
Akurat teraz problem został wyłapany na kolejności użycia języków setlocale.
if( isset($_GET['rev']) ){
$locale1 = 'en_US';
$locale2 = 'pl_PL';
} else {
$locale1 = 'pl_PL';
$locale2 = 'en_US';
}
setlocale(LC_NUMERIC, $locale1);
$number = 11.11;
echo (string)$number;
echo '<br />';
settype($number, 'string');
echo $number;
echo '<br />';
setlocale(LC_NUMERIC, $locale2);
$number = 11.11;
echo (string)$number;
echo '<br />';
settype($number, 'string');
echo $number;
echo '<br />';
Standardowo pokazuje
11,11 /przecinek/
11,11
11,11 /przecinek/
11,11
Przy test.php?tev pokazuje
11.11 /kropka/
11.11
11,11 /przecinek/
11,11
Skąd to zjawisko?