4.3.4 Float
Casting-Operator (float)
Überprüfung mit is_float()
Auch wenn dieser Variablentyp mit Float bezeichnet wird, so handelt es sich genau genommen um den Typ Double des verwendeten C-Compilers, der auch diesen Wertebereich unterstützt. Dabei unterscheidet PHP nicht zwischen einfacher und doppelter Genauigkeit, sondern arbeitet mit einer Genauigkeit von 14 Stellen.
Eine gute Möglichkeit, die Genauigkeit zu erhöhen, ist die Verwendung der BCMath-Funktionen wie z.B. bcdiv() oder bcsqrt(). Um diese jedoch nutzen zu können, muss man PHP mit --enable-bcmath konfigurieren.
Hinweis
Bei Float-Zahlen ist zu beachten, dass man diese aus einem Formular nie direkt übernehmen bzw. mit ihnen arbeiten sollte, da eine Zahl auf ganz verschiedene Arten eingegeben werden kann (1.234 oder 1,234 usw.)
Übung
Um eine Eingabe daraufhin zu überprüfen, ob es sich um den Typen Float handelt, geht man wie im folgenden Code-Beispiel vor. Schreiben Sie zu jeder Zeile, ob die Lösung true
oder false
ist:
A) var_dump(is_float(47));
B) var_dump(is_float(6.11));
C) var_dump(is_float(95.1));
D) var_dump(is_float(66e6));
E) var_dump(is_float('xyz'));
F) var_dump(is_float(false));
Lösung
A) var_dump(is_float(47)); // Ausgabe: bool(false)
B) var_dump(is_float(6.11)); // Ausgabe: bool(true)
C) var_dump(is_float(95.1)); // Ausgabe: bool(true)
D) var_dump(is_float(66e6)); // Ausgabe: bool(true)
E) var_dump(is_float('xyz')); // Ausgabe: bool(false)
F) var_dump(is_float(false)); // Ausgabe: bool(false)