[PHP] Zaokrąglanie liczb

Często podczas prac nad jakimś skryptem otrzymujemy wyniki działań matematycznych, które są zbyt precyzyjne, a chcielibyśmy je zaokrąglić. Z pomocą w takich przypadkach przychodzą wbudowane w PHP funkcje, które pozwalają na zaokrąglanie liczb w dół i w górę. Funkcje, które mam na myśli to round, floor, ceil oraz abs. Ta ostatnia służy do zwracania wartości absolutnej.

Funkcja round

Funkcja round zaokrągla liczbę zmiennoprzecinkową do podanej w drugim argumencie dokładności. Funkcja ta przyjmuje 2 argumenty, w tym 1 wymagany. Pierwszym argumentem jest liczba typu float, którą chcemy zaokrąglić. Drugi parametr to dokładność zaokrąglenia (domyślnie 0). Trzeci argument to tryb przekazywany jako stała. Dostępne tryby:

  • PHP_ROUND_HALF_UP - zaokrąglić do góry;
  • PHP_ROUND_HALF_DOWN - zaokrąglić w dół;
  • PHP_ROUND_HALF_EVEN - zaokrąglić do najbliższej wartości parzystej;
  • PHP_ROUND_HALF_ODD - zaokrąglić do najbliższej wartości nieparzystej;

Przykłady:

echo round(1.2); // wyświetli: 1
echo round(2.5); // wyświetli: 2
echo round(5.5, 0, PHP_ROUND_HALF_UP); // wyświetli: 6
echo round(5.5, 0, PHP_ROUND_HALF_DOWN); // wyświetli: 5

Funkcja floor

Funkcja floor służy do zwracania najbliższej względem podanej jako pierwszy argument, najniższej liczby całkowitej zaokrąglając ją w dół. Zwracana wartość jest typu float. Funkcja ta przyjmuje tylko jeden argument - liczbę zmiennoprzecinkową do zaokrąglenia.

Przykłady:

echo floor(1.4); // wyświetli: 1
echo floor(10.2); // wyświetli: 10

Funkcja ceil

Funkcja ceil działa przeciwnie do funkcji floor, czyli zwraca najbliższą względem podanej jako pierwszy argument, najwyższą liczbę całkowitą zaokrąglając ją do góry. Funkcja tą również zwraca wartość typu float.

Przykłady:

echo ceil(8.2); // wyświetli: 9
echo ceil(1.5); // wyświetli: 2

Funkcja abs

Funkcja abs służy do zwracania wartości absolutnej podanej jako argument liczby. Podana wartość może być typu float lub integer

Przykłady:

echo abs(-2); // wyświetli: 2
echo abs(-5.5); // wyświetli: 5

Komentarze

Popular

[HTML] Jak wstawić obrazek?

[C++] Jak obliczyć pole i obwód trapezu?

[PHP] Jak pobrać adres strony?