Autor Zpráva
koitus
Profil *
Dobrý den, poraďte prosím jak zaokrouhlit číslo podle hodnoty v určité proměnné. Například mám v proměnné číslo 5 a chci toto číslo pomocí round() zaokrouhlit na 5, ale když je číslo 7,5 tak zase na 7,5.

Zkoušel jsem projít zdejší diskuze, ale nic nefungovalo.například na tohle někdo napsal, že mu to funguje: 5*ceil($x / 5) ale u mě to napsalo chybu: excepting , or ;

Díky.
Str4wberry
Profil
Cílem je tedy zaokrouhlit jen na celé číslo nebo poloviny?
koitus
Profil *
Cílem je zaokrouhlit na číslo v proměnné, které může být 0.01 ale i třeba 5.


Omlouvám se, už mi to funguje. Nevím, kde byl problém. Vypadá to takhle:

$c = 254.655; $z = 5; $x = round($c/$z)*$z;
Sir Tom
Profil
koitus:
Také dobrý den,

excepting , or ;
v této hlášce je jasně popsána ona chyba. Možná si v proměnné $x měl desetinné číslo zapsané s desetinnou čárkou.

$c = 254.655; $z = 5; $x = round($c/$z)*$z;
K čemu to je? Nedostanu stejný výsledek při round($c); ?
Ugo
Profil
Sir Tom:
round(16/5) = 3;
3*5 = 15;
round(16) = 20;
jenikkozak
Profil
Sir Tom:
K čemu to je? Nedostanu stejný výsledek při round($c); ?
Ne. Když využiju Ugova čísla:
round (16÷5) × 5 = round (3,2) × 5 = 3 × 5 = 15
round (16) = 16

U původně použité funkce ceil by to bylo takto:
ceil (16÷5) × 5 = ceil (3,2) × 5 = 4 × 5 = 20
ceil (16) = 16

Když jsme ještě měli padesátníky, používalo se toto řešení běžně.
koitus
Profil *
Sir Tom:
Používám to při zaokrouhlování na nejmenší možné platidlo v určité měně.
Sir Tom
Profil
koitus:
Jojo - ok. To je dobrý postup, jak zaokrouhlovat měny...

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:

0