W języku PHP zmienna typu float przyjmuje wartości
A. tylko całkowite.
Źle. Liczby całkowite przechowuje typ
int.B. logiczne.
Źle. Wartości logiczne należą do typu
bool.C. nieliczbowe.
Źle.
float jest typem liczbowym; tekst przechowuje string.D. zmiennoprzecinkowe.
Dobrze.
float przechowuje liczby zmiennoprzecinkowe, na przykład 19.99.Pytanie z egzaminu CKE, wrzesień 2015 (arkusz E.14-X-15.08).
Typ
float (w dokumentacji PHP także double) przechowuje liczby zmiennoprzecinkowe, czyli z częścią ułamkową, na przykład $cena = 19.99; albo $x = 1.5e3;. W kodzie część dziesiętną oddziela się kropką, nie przecinkiem. Do zapamiętania: int to liczby całkowite, float liczby z ułamkiem, bool wartości logiczne, string tekst. Typ zmiennej sprawdzisz funkcją gettype() albo var_dump(). Warto pamiętać, że liczby zmiennoprzecinkowe są zapisywane w przybliżeniu, więc 0.1 + 0.2 nie daje dokładnie 0.3 - kwoty pieniężne zaokrągla się funkcją round() albo liczy w groszach. Rzutowanie (float) zamienia napis lub liczbę całkowitą na ten typ.Błędne warianty opisują inne typy PHP. Wartości tylko całkowite przechowuje typ
int, a float to właśnie typ dla liczb, które mogą mieć część ułamkową. Wartości logiczne true i false należą do typu bool. Wartości nieliczbowe to na przykład napisy (string), tablice albo obiekty - float jest typem liczbowym, więc ten wariant przeczy samej nazwie. Pewne zamieszanie bierze się stąd, że float może przechowywać wartość, która akurat nie ma części ułamkowej, na przykład 2.0, ale nie jest ograniczony do liczb całkowitych. Słowo „float” pochodzi od „floating point”, czyli przecinek pływający. Pomaga też porównanie z bazą danych: w MySQL odpowiednikiem są typy FLOAT i DOUBLE, a do kwot pieniężnych lepiej nadaje się DECIMAL, który przechowuje wartości dokładnie. Typ float nie przechowuje więc ani tekstu, ani wartości logicznych.