Też miałem ten problem, ale obszedłem go nieco inaczej (czyt. "dziwniej"):
Kod
if (is_numeric($cena_d))
{
$cena_d = strtr($cena_d, "," , ".");
$cena_d = ($cena_d*100);
}
i zapis do bazy.
Odczyt z bazy jest lepszy:
Kod
if (is_numeric($cena_d))
{
$cena_d = $cena_d/100;
$cena_d = strtr($cena_d, "." , ",");
}
Rozwiązanie jest nieeleganckie ale działa. A to najważniejsze.
Problem kiedyś miałem z wyświetlaniem dwóch liczb po przecinku (jeśli chodzi o wyświetlanie ceny)
Oto rozwiązanie, które otrzymałem (powala):
Kod
$cena_d = ($cena_d/100)+0.000001;
$cena = substr_replace($cena_d, "", strlen($cena_d)-4, 4);
$cena = strtr($cena, "." , ",");
Działa do dziś.
LeWaR