![]() ![]() ![]() |
![]() |
(PERL) Variablen überprüfen, ob jedes Zeichen eine Zahl ist ?! |
![]() |
von: Rainer Honsch, metropolitan_area@gmx.de
geschrieben am: 13.7.2000, 17:36 Uhr
Hallo !
Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
Ich weiß, daß ich z.B. mit:
if ($var =~ /^[0-9]{1,2}/)
prüfen kann, ob die ersten beiden stellen Zahlen sind, doch da ich nie weiß, wieviele Stellen die Zahl hat, geht das nicht ?! Wie knn ich sichergehen, daß vom ersten bis zum kletzten Zeichen es nur Zahlen sind ?
Vielen Dank.
Rainer
![]() ![]() |
von: klaus, mfk@aon.at
geschrieben am: 17.7.2000, 07:46 Uhr
»» Hallo !
»»
»» Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
»» Ich weiß, daß ich z.B. mit:
»» if ($var =~ /^[0-9]{1,2}/)
»»
»» prüfen kann, ob die ersten beiden stellen Zahlen sind, doch da ich nie weiß, wieviele Stellen die Zahl hat, geht das nicht ?! Wie knn ich sichergehen, daß vom ersten bis zum kletzten Zeichen es nur Zahlen sind ?
»»
»» Vielen Dank.
»»
»» Rainer
hi,
ohne Regex gehts auch
einfach mit 1 multiplizieren und nachschauen ob der Inhalt ungleich 0 ist.
klaus
![]() ![]() |
von: mfg, mfg@hat.keine
geschrieben am: 13.7.2000, 17:49 Uhr
»» Hallo !
»»
»» Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
»» Ich weiß, daß ich z.B. mit:
»» if ($var =~ /^[0-9]{1,2}/)
»»
Na zB so:
/^[0-9]*$/
Möglicherweise geht es auch noch so
/^\d*$/
Da müßte ich aber nachsehen,
und dazu bin ich wie du zu faul.
mfg
![]() ![]() |
von: AlexBausW, AlexBAusW@web.de
geschrieben am: 13.7.2000, 17:49 Uhr
Hallo Rainer,
»» Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
»» if ($var =~ /^[0-9]{1,2}/)
Probier`s mal mit: if ($var =~ /^\d+$/)
Das dürfte allerdings nicht mit Kommazahlen funktionieren (muß es vielleicht ja auch nicht :-).
Gruß AlexBausW
![]() ![]() |
von: Cheatah, Hajo@hadiko.de
geschrieben am: 13.7.2000, 21:02 Uhr
Hi,
»» Probier`s mal mit: if ($var =~ /^\d+$/)
»» Das dürfte allerdings nicht mit Kommazahlen funktionieren (muß es vielleicht ja auch nicht :-).
/^[\d.]+$/
bzw. ganz sorgfältig:
/^-?\d+(?!\.\d+)?$/
(ungetestet)
Cheatah
![]() ![]() |
von: Calocybe, calocybe@yahoo.com
geschrieben am: 13.7.2000, 21:32 Uhr
Hi Cheatah!
»» /^-?\d+(?!\.\d+)?$/
Warum '(?!' ? So darf \.\d+ eben *nicht* mehr folgen. Sollte doch '(?:' sein oder? Also
/^-?\d+(?:\.\d+)?$/
'(?=' duerfte auch gehen.
Wenn man die komische deutsche Notation mit Komma beruecksichtigen will, dann eben
/^-?\d+(?:[\.,]\d+)?$/
So long
![]() ![]() |
von: Cheatah, Hajo@hadiko.de
geschrieben am: 13.7.2000, 22:39 Uhr
Hi,
»» Warum '(?!' ? So darf \.\d+ eben *nicht* mehr folgen. Sollte doch '(?:' sein oder? Also
äh... ja, genau, danke :-)
Cheatah
![]() ![]() |
von: speedy, achim@speedesign.de
geschrieben am: 13.7.2000, 17:48 Uhr
Hi
»» if ($var =~ /[\d+]/)
wuerde ich nu mal versuchen. Bin jetz nich so ganz in der Materie...
CU
speedy
![]() | |
weiter:![]() |
![]() |
zurück:![]() |
![]() |
![]() ![]() ![]() |