IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

24. diel - Zaokrúhľovania čísel v PHP

V minulej lekcii, Prevody medzi číselnými sústavami v PHP , sme si ukázali funkcie pre prevod čísel medzi sústavami v PHP.

V tejto lekcii matematických funkcií si ukážeme funkcie pre zaokrúhľovanie čísel v PHP. Ukážeme si funkcie ako floor(), ceil() či round().

floor()

Funkcia floor() nám umožňuje zaokrúhliť desatinné číslo na ďalšie najmenšie celé číslo (zaokrúhľuje nadol). Funkcia prijíma jeden parameter, ktorým je hodnota k zaokrúhľovania. Ak zadaná hodnota bude záporná, dôjde tiež k zaokrúhlenie na ďalšiu najmenšie celé číslo, teda napríklad -2.13 bude zaokrúhlené na -3. Dátový typ návratovej hodnoty je float (číslo s plávajúcou desatinnou čiarkou), keďže rozsah počtu čísel typu float je o poznanie väčšia ako u dátového typu int. Ukážme si príklady:

echo( floor(1.99) );

Tu bude výstupom číslo 1, teda ďalší najmenšie celé číslo od zadanej hodnoty 1.99. ďalej:

echo( floor(-0.50) );

Zaokrúhľujeme Ak zápornú hodnotu, stále platí, že dôjde k zaokrúhlenie na ďalšiu najmenšie celé číslo. Tu bude výstupom číslo -1.

ceil()

Funkcia ceil() nám na rozdiel od funkcie floor() zaokrúhli zadané desatinné číslo na ďalšie najväčšie celé číslo (zaokrúhľuje nahor). Funkcia prijíma iba jeden parameter, ktorým je naša hodnota k zaokrúhľovaniu. Podobne ako pri funkcii floor() ak zadaná hodnota bude záporná, dôjde tiež k zaokrúhlenie, ale na ďalšie najväčšie celé číslo. Dátový typ návratovej hodnoty je float. Ukážme si príklady:

echo( ceil(0.60) );

Výstupom bude číslo 1, teda ďalší najväčšie celé číslo od zadanej hodnoty 0.60:

echo( floor(-0.60) );

Podobne ako u predchádzajúcej funkcie stále platí, že dôjde k zaokrúhlenie, ale na ďalšie najväčšie celé číslo. Tu bude výstupom číslo 0.

round()

Funkcia round() zaokrúhli zadané desatinné číslo tak, ako poznáme z matematiky zo základnej školy. Čísla menšie ako 5 sú zaokrúhľovania nadol a čísla väčšie alebo rovné 5 hore. Funkcia prijíma celkom 3 parametre, kde prvým z nich je naša hodnota k zaokrúhľovaniu. Druhým parametrom je presnosť zaokrúhlenie. Môžeme teda rozlíšiť, či chceme zaokrúhľovať napríklad na dve alebo tri desatinné miesta. Posledným parametrom je mód, ktorým meníme pravidlá zaokrúhľovania v prípade desatinného čísla 5. Máme na výber z týchto módov:

  • PHP_ROUND_HALF_UP - Defaultný mód. Zaokrúhľuje desatinné čísla tak, ako poznáme z matematiky. Napríklad číslo 0.5 bude zaokrúhlené na 1.
  • PHP_ROUND_HAL-F_DOWN - Zaokrúhľuje desatinné čísla smerom nadol. Napríklad číslo 0.5 bude zaokrúhlené na 0.
  • PHP_ROUND_HAL-F_EVEN - Zaokrúhľuje desatinné čísla smerom k najbližšiemu sudému číslu. Napríklad číslo 1.5 bude zaokrúhlené na 2 a číslo 2.5 rovnako na 2.
  • PHP_ROUND_HAL-F_ODD - Zaokrúhľuje desatinné čísla smerom k najbližšiemu nepárnemu číslu. Napríklad číslo 1.5 bude zaokrúhlené na 1 a číslo 2.5 na 3.

Ukážme si príklady:

echo( round(0.60) );

Dôjde k už známemu zaokrúhlenie podľa matematiky. Na výstupe bude hodnota 1. Ďalší príklad:

echo( round(0.65, 1) );

Pridaním druhého parametru zaistíme zaokrúhlenie čísla na jedno desatinné miesto. Na výstupe bude teda hodnota s jedným desatinným miestom 0.7. Posledný príklad:

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

Pridaním tretieho parametra zmeníme pravidlá zaokrúhľovania. Tu teda desatinné číslo 0.5 zaokrúhľujeme smerom nadol. Na výstupe bude hodnota 0.

V ďalšej lekcii, Generovanie náhodných čísel v PHP , si ukážeme funkcie pre generovanie náhodných čísel v PHP.


 

Predchádzajúci článok
Prevody medzi číselnými sústavami v PHP
Všetky články v sekcii
PHP funkcie
Preskočiť článok
(neodporúčame)
Generovanie náhodných čísel v PHP
Článok pre vás napísal Pavel Vaněček
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje psaní článků na Itnetwork.cz
Aktivity