IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 25 - Zaokrouhlování čísel v PHP

V minulé lekci, Převody mezi číselnými soustavami v PHP, jsme si ukázali funkce pro převod čísel mezi soustavami v PHP.

V této lekci matematických funkcí si ukážeme funkce pro zaokrouhlování čísel v PHP. Ukážeme si funkce jako floor(), ceil() či round().

floor()

Funkce floor() nám umožňuje zaokrouhlit desetinné číslo na další nejmenší celé číslo (zaokrouhluje dolů). Funkce přijímá jeden parametr, kterým je hodnota k zaokrouhlování. Pokud zadaná hodnota bude záporná, dojde také k zaokrouhlení na další nejmenší celé číslo, tedy například -2.13 bude zaokrouhleno na -3. Datový typ návratové hodnoty je float (číslo s plovoucí desetinnou čárkou), jelikož rozsah počtu čísel typu float je o poznání větší než u datového typu int. Ukažme si příklady:

echo( floor(1.99) );

Zde bude výstupem číslo 1, tedy další nejmenší celé číslo od zadané hodnoty 1.99. Dále:

echo( floor(-0.50) );

Zaokrouhlujeme-li zápornou hodnotu, stále platí, že dojde k zaokrouhlení na další nejmenší celé číslo. Zde bude výstupem číslo -1.

ceil()

Funkce ceil() nám na rozdíl od funkce floor() zaokrouhlí zadané desetinné číslo na další největší celé číslo (zaokrouhluje nahoru). Funkce přijímá pouze jeden parametr, kterým je naše hodnota k zaokrouhlování. Podobně jako u funkce floor() pokud zadaná hodnota bude záporná, dojde také k zaokrouhlení, ale na další největší celé číslo. Datový typ návratové hodnoty je float. Ukažme si příklady:

echo( ceil(0.60) );

Výstupem bude číslo 1, tedy další největší celé číslo od zadané hodnoty 0.60:

echo( floor(-0.60) );

Podobně jako u předchozí funkce stále platí, že dojde k zaokrouhlení, ale na další největší celé číslo. Zde bude výstupem číslo 0.

round()

Funkce round() zaokrouhlí zadané desetinné číslo tak, jak známe z matematiky ze základní školy. Čísla menší než 5 jsou zaokrouhlována dolů a čísla větší nebo rovno 5 nahoru. Funkce přijímá celkem 3 parametry, kde prvním z nich je naše hodnota k zaokrouhlování. Druhým parametrem je přesnost zaokrouhlení. Můžeme tedy rozlišit, zda chceme zaokrouhlovat například na dvě nebo tři desetinná místa. Posledním parametrem je mód, kterým měníme pravidla zaokrouhlování v případě desetinného čísla 5. Máme na výběr z těchto módů:

  • PHP_ROUND_HALF_UP - Defaultní mód. Zaokrouhluje desetinná čísla tak, jak známe z matematiky. Například číslo 0.5 bude zaokrouhleno na 1.
  • PHP_ROUND_HAL­F_DOWN - Zaokrouhluje desetinná čísla směrem dolů. Například číslo 0.5 bude zaokrouhleno na 0.
  • PHP_ROUND_HAL­F_EVEN - Zaokrouhluje desetinná čísla směrem k nejbližšímu sudému číslu. Například číslo 1.5 bude zaokrouhleno na 2 a číslo 2.5 rovněž na 2.
  • PHP_ROUND_HAL­F_ODD - Zaokrouhluje desetinná čísla směrem k nejbližšímu lichému číslu. Například číslo 1.5 bude zaokrouhleno na 1 a číslo 2.5 na 3.

Ukažme si příklady:

echo( round(0.60) );

Dojde k již známému zaokrouhlení dle matematiky. Na výstupu bude hodnota 1. Další příklad:

echo( round(0.65, 1) );

Přidáním druhého parametru zajistíme zaokrouhlení čísla na jedno desetinné místo. Na výstupu bude tedy hodnota s jedním desetinným místem 0.7. Poslední příklad:

echo( round(0.5, 0, PHP_ROUND_HALF_DOWN) );

Přidáním třetího parametru změníme pravidla pro zaokrouhlování. Zde tedy desetinné číslo 0.5 zaokrouhlujeme směrem dolů. Na výstupu bude hodnota 0.

V další lekci, Generování náhodných čísel v PHP, si ukážeme funkce pro generování náhodných čísel v PHP.


 

Předchozí článek
Převody mezi číselnými soustavami v PHP
Všechny články v sekci
PHP funkce
Přeskočit článek
(nedoporučujeme)
Generování náhodných čísel v PHP
Článek pro vás napsal Pavel Vaněček
Avatar
Uživatelské hodnocení:
5 hlasů
Autor se věnuje psaní článků na Itnetwork.cz
Aktivity