Hugo Egon Balder: Formularverarbeitung bei Zahlen

Beitrag lesen

Hallo Forum!

Bei der Verarbeitung einer Formulareingabe mit der Funktion var_dump(); sehe ich, dass die eingetragene Zahl 2 nicht als Zahl, sondern als String verarbeitet wird. Die Funktion var_dump(); zeigt also string(1) "2" an und erst nach der Umwandlung mit der Funktion intval(); liegt die eingetragene 2 als Zahl vor:

$eingabe=intval($_POST['eingabe']);

Jetzt liefert mir var_dump($eingabe); also ein int(2).

Soweit ist mir alles klar. Wenn ich aber den selben Prozess mit der Eingabe der Kommazahl 2,5 mache, dann entsteht zuerst der String "2,5" und die Funktion intval(); macht ein int(2) daraus.

Sehe ich das also richtig?

intval(); bei einem String, in dem ein oder mehrere Buchstaben oder Sonderzeichen vorkommen liefert die ganze Zahl 0 (als Integer Typ).

intval(); bei einem String, der nur aus einer ganzen Zahl besteht, liefert diese Zahl als Integer Typ.

intval(); bei einem String, der aus einer Kommazahl besteht, liefert den Wert _vor_ dem Komma als ganze Zahl (als Integer Typ)?

Und meine 2. Frage:

Welche Funktion nehme ich, wenn ich für eine Weiterverarbeitung die Umwandlung eines Strings in einen Zahlenwert mit Komma erreichen möchte? Also dass aus "Hans" ein 0 wird, aus 2 ein 2 und aus 2,5 ein 2,5.

MfG

Hugo Egon Balder