Autor | Zpráva | ||
---|---|---|---|
Pevel.Sojak Profil * |
#1 · Zasláno: 17. 8. 2011, 15:11:21
Dobrý den, měl bych jednoduchý, leč pro mě neřešitelný problém.
Zkouším si udělat prototyp internetového obchodu a narazil jsem na problém při vypočítávání měny. Prozatím to řeším zhruba nějak takto (samozřejmě jsou veškerá data tahána z DB) $cena = $result['cena'] / $result['euro']; echo $cena; Problém je v tom, že mi kolikrát vyjedou i čísla jako 0.0416666666667 € ...atp. Najde se nějaké jednoduché řešení, jak výsledek upravit, aby z toho vylezlo například 0.04 €? Předem děkuji za odpovědi |
||
Joker Profil |
#2 · Zasláno: 17. 8. 2011, 15:24:39
Pevel.Sojak:
„Najde se nějaké jednoduché řešení, jak výsledek upravit, aby z toho vylezlo například 0.04 €?“ ehm… co to třeba zaokrouhlit? :-) |
||
Tasartir Profil |
#3 · Zasláno: 17. 8. 2011, 15:25:36
Můžeš využít zaokrouhlovací funkci round(), případně v "See also" odkazované funkce ceil(), floor(), nebo nejspíš ještě lepší funkci number_format().
|
||
Rellik Profil |
#4 · Zasláno: 17. 8. 2011, 16:27:50
já sem si udělal takovou malou nápovědu, když tak něco potřebuju zaokrouhlit, nebo upravit číselný výpis:
<?php $cislo = 14.454357; $vysledek = round($cislo, 2); $f = Explode(".",$vysledek); echo $vysledek; if(!$f[1]) { echo ".00"; } else { if($f[1] <=9) { echo "0"; } } ?> <br> Nebo jednodušej: <?php printf("%0.2f", $vysledek); // přidá 0 za číslo, které je menší než 10, zároveň číslo zaokrouhlí na 2 desetinné místa echo "<br>"; $secs = 69; $minuty = floor($secs/60); $sekundy = ($secs-(floor($secs/60))*60); printf("%02s", $minuty); // přidá 0 před číslo, které je menší než 10 echo ":"; printf("%02s", $sekundy); ?> Z toho už si vyber.. :) |
||
Časová prodleva: 13 let
|
0