Zawód: Technik informatyk , Technik programista
Kategorie: Programowanie webowe Algorytmy i podstawy informatyki JavaScript
W tym przykładzie kluczowe jest zrozumienie, co dokładnie robi funkcja Math.ceil() w JavaScript. Ta funkcja zawsze zaokrągla liczbę w górę do najbliższej liczby całkowitej, i to niezależnie od tego, jak mała jest część ułamkowa. Dla wartości 2.4 najbliższa liczba całkowita „w górę” to 3, więc po wykonaniu instrukcji x = Math.ceil(2.4); zmienna x przyjmie wartość 3. Nie interesuje nas tu klasyczne zaokrąglanie matematyczne do „najbliższej” liczby, tylko zawsze w stronę dodatniej nieskończoności. W standardzie ECMAScript Math.ceil() jest jedną z podstawowych funkcji do pracy z liczbami, obok Math.floor() (zaokrąglenie w dół) i Math.round() (zaokrąglenie do najbliższej liczby całkowitej). Dla porównania: Math.floor(2.4) da 2, Math.round(2.4) też da 2, a tylko Math.ceil(2.4) zwróci 3. W praktyce webowej takie funkcje są często używane np. przy dzieleniu elementów na strony (paginacja), liczeniu ilości stron w wynikach wyszukiwania, obliczaniu liczby wierszy w siatce (grid), czy przy przeliczaniu miejsc w koszyku, kiedy musisz zawsze „doliczyć” pełną jednostkę. Moim zdaniem warto od razu wyrobić sobie nawyk, żeby przy liczbach zmiennoprzecinkowych w JavaScript pamiętać o różnicach między ceil, floor i round, bo to są podstawowe narzędzia przy każdym kalkulatorze, module cenowym, przeliczaniu czasu trwania, dzieleniu zadań na porcje itd. Dobra praktyka jest też taka, żeby zawsze jasno nazywać zmienne, np. totalPages = Math.ceil(itemsCount / itemsPerPage); – od razu widać, że chodzi o zaokrąglenie w górę. Podsumowując: poprawna odpowiedź to 3, bo Math.ceil() zawsze przesuwa wynik do najbliższej większej lub równej liczby całkowitej. Dla 2.4 jest to właśnie 3.