Autor Zpráva
Tomast
Profil
Zdravím,
jak jsem hledal, tak jsem hledal, možná špatně, nikde jsem nenašel, jak zaokrouhlit měnu na dvě destinná místa s tím, že se vždy musí naplnit poslední dvě destinná místa nulou třeba z 12.2 -> 12.20 nebo 1234 -> 1234.00 nebo 23.534 -> 23.53
Normální zaokrouhlení vím, že jde pomocí v PHP round() a v JS Math.round().
Nevíte někdo, jak to udělat v PHP i Javascriptu?
Díky.
Rellik
Profil
No napadlo mě to asi tak:
<?php
$cislo = 14.2;
$vysledek =  round($cislo, 2);
$f = Explode(".",$vysledek);
echo $vysledek;
	if(!$f[1]) { echo ".00"; }
		else {
				if($f[1] <=9) { echo "0"; }
				}
?>

Když bude za desetinnou čárkou menší číslo než 10 tak se připíše 0
king26
Profil
Pomocí sprintf a round takto:
$vysledek = sprintf("%0.2f", round(1234, 2));

Pokud by jsi to chtěl rovnou vypsat, tak fce printf:
printf("%0.2f", round(1234, 2));
Rellik
Profil
Hmm koukám, že to jde i jednodušej.. :)
Tomast
Profil
Díky, tak to funguje skvěle! A pro JS jsem mezitím našel
toFixed(2)
kdyby někdo hledal stejně jako já...
_es
Profil
Tomast:
Díky, tak to funguje skvěle! A pro JS jsem mezitím našel
toFixed(2)
Pre nesprávnu implementáciu v prehliadačoch by malo (asi) správne fungovať až:
(Math.round(číslo*100)/100).toFixed(2)
Tomast
Profil
Jo, tak to také mám.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0