Zaokrohlouvání, Početní funkce, Početní funkce s BCMath, Generování náhodných čísel, Převod číselných soustav, Matematické konstanty
Pro zaokrouhlování je nejvhodnější použít funkce round(). Má dva parametry: prvním je číslo k zaokrouhlení, druhý, nepovinný, udává na kolik číslic po desetinné čárce se číslo zaokrouhlí. Jestliže se tento parametr nezadá, číslo se zaokrouhlí podle první číslice za desetinou čárkou.
echo round(8.4); // 8 echo round(7.6); // 8 echo round(5.1234, 2); // 5.12 echo round(4321, -3); // 4000 echo round(2.456, 2); // 2.46
Další zaokrouhlovací funkcí je ceil(). Tato funkce vrátí nejbližší celé vyšší číslo než je číslo zadané v parametru.
echo ceil (8.1); // 9 echo ceil (8.8); // 9
Funkce floor() vrátí nejbližší menší celé číslo, než je v parametru. V podstatě vezme parametr a odstraní z něj desetinou část.
echo floor(8.3); // 8 echo floor(8.6); // 8
Pozn.: Desetinné číslo se odděluje tečkou
sqrt(cislo) - vrátí druhou odmocninu zadaného čísla
pow(cislo1, cislo2) - vrátí číslo vzniklé umocněním základu mocniny (první parametr) mocnitelem (druhý parametr).
sin(cislo), cos(cislo), tan(cislo) - vrátí sinus, cosinus a tangens zadaného úhlu.
asin(cislo), acos(cislo), atan(cislo) - inverzní funkce k sinu, cosinu a tangentě
fmod(cislo1, cislo2) - vrátí zbytek po dělení dvou čísel, které jsou parametrem funkce
max(pole), min(pole) - vrátí maximální a minimální hodnotu pole zadaného v parametru.
abs(cislo) - absolutní hodnota zadaného čísla
V PHP je knihovna BCMath, jejíž používání neobsahuje rizika spojená s používáním typu float. Tato desetinná čísla se totiž používají jako řetězce a funkce této knihovny jsou matematické operace. BCMath se stará o přesnost na počet desetinných míst, které si sami zvolíte, přesnost máte vždy zaručenou protože BCMath nepracuje s floaty ale řetězci, které sám propočítává celočíselnou aritmetikou a s floatem nemá nic společného.
Funkce BCMath jsou funkce, kde první operátor je levá strana rovnice a druhý operátor je pravá strana rovnice. Jednotlivé funkce reprezentují pak matematickou operaci a výsledkem je buď string (výsledek matematické operace) nebo boolean (výsledek porovnání).
Ve všech funkcích je ale jeden nepovinný parametr - číslo. Tento parametr udává na kolik číslic se má zaokrouhlit výsledek. Jestliže chceme pro všechny funkce zaokrouhlovat na stejný počet číslic, můžeme využít funkci bcscale(), jejíž jediným parametrem je právě počet míst na který se mají zaokrouhlovat výsledky.
bcadd(cislo1, cislo2) - sčítání
bcsub(cislo1, cislo2) - odčítání
bcmul(cislo1, cislo2) - násobení
bcdiv(cislo1, cislo2) - dělení
bcsqrt(cislo, odmocnovatel) - odmocňování
bcpow(druhá odmocnina zadaného čísla, umocnovatel) - umocneni
bccomp(cislo1, cislo2) - porovnání dvou čísel (návratové hodnoty -1,0,1)
K vygenerování náhodného čísla poslouží funkce rand(0,100); kde 0 = Minimální náhodné číslo! a 100 = Nejvyšší možné náhodné číslo! ( Pozor!! Tato funkce generuje pouze čísla do 32758 !!)
mt_rand(0, mt_getrandmax () ) = Generuje velmi vysoká čísla
decOct(číslo) - převod z desítkové do osmičkové
decHex(číslo) - převod z desítkové do šestnáctkové
decBin(číslo) - převod z desítkové do dvojkové
octDec(číslo) - převod z osmičkové do desítkové
hexDec(číslo) - převod z šestnáctkové do desítkové
binDec(číslo) - převod z dvojkové do desítkové
bin2hex(cislo) - převod binární na šestnáctkovou
Flexibilnější je použít funkci base_convert(cislo, soustava1, soustava2) kde cislo je číslo které chceme převádět, soustava1 je soustava z které chceme převádět a soustava2 je soustava do které chceme převádět.
Konstanta | Hodnota | Popis |
---|---|---|
M_PI | 3.14159265358979323846 | Pí |
M_E | 2.7182818284590452354 | e |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | log_10 e |
M_LN2 | 0.69314718055994530942 | log_e 2 |
M_LN10 | 2.30258509299404568402 | log_e 10 |
M_PI_2 | 1.57079632679489661923 | pi/2 |
M_PI_4 | 0.78539816339744830962 | pi/4 |
M_1_PI | 0.31830988618379067154 | 1/pi |
M_2_PI | 0.63661977236758134308 | 2/pi |
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) [4.0.2] |
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi) |
M_SQRT2 | 1.41421356237309504880 | sqrt(2) |
M_SQRT3 | 1.73205080756887729352 | sqrt(3) [4.0.2] |
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2) |
M_LNPI | 1.14472988584940017414 | log_e(pi) [4.0.2] |
M_EULER | 0.57721566490153286061 | Eulerova konstanta [4.0.2] |
PHP - Ostatní
JavaScript - Úvod do JavaScriptu
JavaScript - Příklady v JavaScriptu
(x) HTML - Úvod do HTML
CSS - Základy CSS