Überprüfen ob Skalar Zahl oder Zeichenkette ist
Philipp
- perl
0 slu0 Cheatah0 Dank an alle
Philipp
Hallo,
wie kann ich überprüfen, dass der Inhalt einer Variable _keine_ Zahl ist? Gibt es dafür einen bestimmten Ausdruck oder Befehl?
Gruss
Philipp
Hallo
Wär doch ne möglichkeit, oder?
if($Skalar =~ /[0-9]/)
{
}
else
{
print "So, ich bin keine Zahl!!!\n";
}
Hoffentlich hilfts!!!
Gruss
Stefan Ludwig
if($Skalar =~ /[0-9]/)
{
}
else
{
print "So, ich bin keine Zahl!!!\n";
}
Hi,
damit würde er mir aber sagen, dass "Ich bin 100 Jahre alt" eine Zahl ist, oder nicht?
Gruss
Philipp
if($Skalar =~ /[0-9]/)
{
}
else
{
print "So, ich bin keine Zahl!!!\n";
}
Hi auch,
damit würde er mir aber sagen, dass "Ich bin 100 Jahre alt" eine Zahl ist, oder nicht?
Nein, damit sucht er, ob es in deiner Variable eine Zahl hat. Wenn er eine findet, macht er nix, wenn er keine Findet,
printet er!
Somit also ganz klar: Nein!
Tschüss!
Stefan
Hi,
damit würde er mir aber sagen, dass "Ich bin 100 Jahre alt" eine Zahl ist, oder nicht?
Nein, damit sucht er, ob es in deiner Variable eine Zahl hat. Wenn er eine findet, macht er nix, wenn er keine Findet,
printet er!
eine fehlende Reaktion sagt also aus, daß es sich um eine Zahl handelt.
Somit also ganz klar: Nein!
Da die Reaktion bei obigem Teststring fehlt also ganz klar: Ja!
Cheatah
Hallo Philipp,
if($Skalar =~ /[0-9]/) {
}
else {
print "So, ich bin keine Zahl!!!\n";
}
damit würde er mir aber sagen, dass "Ich bin 100 Jahre alt" eine Zahl ist, oder nicht?
Korrekt. Korrekter wäre imho $Skalar =~ /^\d+$/;
^...Ende der Variable
^....mindestens _eine_
^.....Zahl
^.......Anfang der Variable
Das birgt allerdings das Problem, daß nur Ganzzahlen erkannt werden. Falls Du auch Kommazahlen erkennen möchtest siehe:
<http://www.activestate.com/Products/ActivePerl/docs/lib/Pod/perlfaq4.html#how do i determine whether a scalar is a number/whole/integer/float>
Gruß AlexBausW
Please visit my SELFvisitingcard @ http://www.atomic-eggs.com/selfspezial/daten/150.html
Hi,
if($Skalar =~ /[0-9]/)
nicht _ganz_ richtig ;)
if($skalar =~ /[1]+$/)
wäre richtig.
mfg
CK1
<img src="http://wwwtech.de/images/banner.jpg" alt="">
http://wwwtech.de/
http://wwwtech.de/moorhuhn/
0-9 ↩︎
Hi,
if($Skalar =~ /[0-9]/)
nicht _ganz_ richtig ;)
if($skalar =~ /[1]+$/)
wäre richtig.
Immer diese Besserwisser.... :-))))
Ich bin doch selbst noch Anfänger und muss mich erst noch in die hohe Kunst des Perlens einfinden ;)
Aber trotzdem danke,
es gibt nicht mehr allzu viele _aufmerksame_ Poster, die dann noch unbedingt nen Verbesserungvorschlag
bringen müssen.
Seis drum:
Schönen Abend noch
Slu :-))
0-9 ↩︎
Hi,
wie kann ich überprüfen, dass der Inhalt einer Variable _keine_ Zahl ist? Gibt es dafür einen bestimmten Ausdruck oder Befehl?
*seufz*
perldoc perlfaq4
"How do I determine whether a scalar is a number/whole/integer/float?"
Sowas steht alles in der Doku. Sie ist nicht nur existent, Leute, sie ist hervorragend.
Cheatah
Hi,
Schon fast deprimierend, dass man nicht auf die naheliegenste Quelle PerlFAQ gekommen ist.
Danke für Eure Antworten, hat mir weitergeholfen.
Ach ja, mal noch 'nen ganz speziellen Dank an Cheatah, der extrem oft, sei es direkt oder indirekt (Archiv) eine Antwort auf mein Problem gegeben hat.
Gruss
Philipp :-)