php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Wie kann ich eine Eingabe auf eine Ganzzahl bzw. Dezimal mit Komma oder Punkt prüfen?


 
BananaJo
14-12-2008, 16:17 
 
Hey

Wie kann ich eine Eingabe auf eine Ganzzahl bzw. Dezimal mit Komma oder Punkt prüfen?

gibts da schon was fertiges von php oder muss ich selber eine funktion schreiben?


thx!

 
pekka
14-12-2008, 16:40 
 
Es gibt schon fertige Funktionen dafür, die Du in der Doku findest.

 
Griecherus
14-12-2008, 16:44 
 
Siehe dazu is_int(eger) (http://de.php.net/manual/en/function.is-int.php) bzw. is_float (http://de.php.net/manual/en/function.is-float.php) im PHP-Manual.
Einzig wenn es um die Prüfung einer Dezimalzahl mit Komma geht (wobei es sich dann um einen String handelt), musst du mit anderen Mitteln arbeiten.


Grüße

 
phpguru42
14-12-2008, 17:48 
 
Die Funktionen von Griecherus funktionieren nicht mit Strings, es sind aber immer welche, wenn ein Formular abgeschickt wird.

Falls pekka is_numeric meinte, das taugt überhaupt nichts, da alles mögliche als numerisch angesehen wird, z.B. ein String beginnt mit Ziffern.

Also bleibt letztendlich nur ein Regulärer Ausdruck, auch hinsichtlich Komma/Punkt. Aber ich lasse mich gerne eines Besseren belehren.

 
pekka
14-12-2008, 17:52 
 
Original geschrieben von phpguru42

Falls pekka is_numeric meinte, das taugt überhaupt nichts, da alles mögliche als numerisch angesehen wird, z.B. ein String beginnt mit Ziffern.

:confused: Das wäre mir neu.
Zu is_numeric gibt es auch einige gute Erweiteurngen in den User Contributed Notes auf der Manualseite.

 
phpguru42
14-12-2008, 18:01 
 
Original geschrieben von pekka
:confused: Das wäre mir neu.
Oh, sorry, doch nicht - hätte ich PHP aber zugetraut ;)
Naja, aber var_dump(is_numeric('1e4')); ist vielleicht auch nicht das, was man möchte.

 
pekka
14-12-2008, 18:04 
 
Original geschrieben von phpguru42
Oh, sorry, doch nicht - hätte ich PHP aber zugetraut ;)
Naja, aber var_dump(is_numeric('1e4')); ist vielleicht auch nicht das, was man möchte.

Guck in den Notes, da war was mit is_decimal().

 
Griecherus
14-12-2008, 19:49 
 
Original geschrieben von phpguru42
Die Funktionen von Griecherus funktionieren nicht mit Strings, es sind aber immer welche, wenn ein Formular abgeschickt wird.

Das ist richtig. Ich las nur nirgends etwas von einem Formular.
Mit Type-Casting lässt sich auch da etwas bewerkstelligen:

$var = '123';

echo ((string)$var) === ((string)(int)$var);



Grüße


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:43 Uhr.