Hallo,
die Lösung für diese Frage ist bestimmt ganz einfach, aber ich kann sie momentan einfach nicht finden.
Ich möchte einen per POST übergebenen Wert auf is_float überprüfen. $_POST-Werte sind aber ja strings.
Zuerst habe ich es so gemacht, dass ich den Wert in float und dann wieder in string umgewandelt habe, so:
Das funzt auf PHP 4.3.8. Test:
ergibt z.B.
POST: 0.1
float: 0,1
str(float): 0.1
auf PHP 5.1.2 gibt die Rückumwandlung aber ein Komma mit aus:
POST: 0.1
float: 0,1
str(float): 0,1
Langer Rede kurzer Sinn: gibt es etwas geschickteres, als den Wert am Punkt bzw. Komma zu zerschneiden und die Teile davor und dahinter auf ctype_digit zu überprüfen?
Danke im Voraus,
ministry
die Lösung für diese Frage ist bestimmt ganz einfach, aber ich kann sie momentan einfach nicht finden.
Ich möchte einen per POST übergebenen Wert auf is_float überprüfen. $_POST-Werte sind aber ja strings.
Zuerst habe ich es so gemacht, dass ich den Wert in float und dann wieder in string umgewandelt habe, so:
PHP-Code:
if ($_POST['faktor'] == strval(floatval($_POST['faktor']))) {
PHP-Code:
echo("POST: " . $_POST['faktor'] . "<br>");
echo("float: " . floatval($_POST['faktor']) . "<br>");
echo("str(float): " . strval(floatval($_POST['faktor'])) . "<br>");
POST: 0.1
float: 0,1
str(float): 0.1
auf PHP 5.1.2 gibt die Rückumwandlung aber ein Komma mit aus:
POST: 0.1
float: 0,1
str(float): 0,1
Langer Rede kurzer Sinn: gibt es etwas geschickteres, als den Wert am Punkt bzw. Komma zu zerschneiden und die Teile davor und dahinter auf ctype_digit zu überprüfen?
Danke im Voraus,
ministry
Kommentar