Autor Zpráva
icka
Profil *
Prosím poraďte jak tuto funkci napsat lépe...
Zdá se mi to hrozně divoký...

Mělo by to vracet rozdělený číslo jako cenu: 1 234 567,5 Kč apod....

Děkuji za návrhy

<?php
$cislo = 1234567.5;

function UpravCenu($cena) {
$cast = explode(".", $cena);
$delka = strlen($str_cena = strval($cast[0]));
$vrat = "";
$citac = 0;
if ($delka > 3) {
for ($i=($delka-1); $i>=0; $i--) {
if ($citac++ == 3 || $citac == 7) { $vrat .= " "; }
$vrat .= $cast[0][$i];
}
$cena = strrev($vrat);
} else {
$cena = $cast[0];
}
return $cena . (count($cast) == 2 ? "," . $cast[1] . " Kč" : ",- Kč");
}

echo UpravCenu($cislo);
?>
Mastodont
Profil
$var = 1234567.5;
echo number_format($var, 2, ",", " ")." Kč";
icka
Profil *
No a když nechci, aby mi to desetinná místa psalo jen v případě, že je číslo obsahuje...??
icka
Profil *
Jinak děkuji... Už tak je to nečekaně snadné... :-)
Mastodont
Profil
if (is_float($var)) {

echo number_format($var, 2, ",", " ")." Kč";
} else {
echo number_format($var, 0, ",", " ")." Kč";
}
icka
Profil *
Děkuji moc ;-) To je přesně ono..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: