Sebastian: Überprüfen ob Variable nur aus Zalhen besteht

Hi,
ich hab da ein Problem, ich bekomme von einer Seite einen String, jetzt lade ich das ganze über ein Modul in eine Variable, doch will ich nun überprüfen, ob dieser String nur aus Zahlen besteht, da das für den weiteren Verlauf des SKriptest relativ relevant ist.
Ich hab aber keinen Plan wie ich das mache, suche Hilfe bzw. nen Code dafür!!!

  1. Hi,
    ich hab da ein Problem, ich bekomme von einer Seite einen String, jetzt lade ich das ganze über ein Modul in eine Variable, doch will ich nun überprüfen, ob dieser String nur aus Zahlen besteht, da das für den weiteren Verlauf des SKriptest relativ relevant ist.
    Ich hab aber keinen Plan wie ich das mache, suche Hilfe bzw. nen Code dafür!!!

    geht mit RegExpr. Aber einfacher geht es sicher so:

    if ($variable eq int($variable))
       {
            print "nur Ziffern!\n";
       }
    else
       {
            print "auch andere Dinge!\n";
       }

    Gruß
    Reiner

    1. Hi Reiner,

      if ($variable eq int($variable))
         {
              print "nur Ziffern!\n";
         }
      else
         {
              print "auch andere Dinge!\n";
         }

      Gefällt mir! Darf ich das auf die PerlBase tun?

      Gruss, Rolf

      --
      KnowHow veröffentlichen statt patentieren!
      1. use Mosche;

        if ($variable eq int($variable))
           {
                print "nur Ziffern!\n";
           }

        Gefällt mir! Darf ich das auf die PerlBase tun?

        Würde ich nicht tun:
        my $variable = '0.5';
        print "hat nicht nur Ziffern" if $variable ne int($variable);

        Das Problem hierbei ist es, einzuschränken, was überhaupt eine Zahl ist. Reelle Zahlen und rationale Zahlen lassen sich nicht ohne '.' bzw. '/' darstellen, imaginäe nicht ohne 'i' und ganze Zahlen fast zur Hälfte nicht ohne '-', ganz zu schweigen von zB Hamiltonschen Quaternionen oder so.
        Obiger Code mag in Bezug auf "Liegt eine Integer-Variable vor?" ganz hilfreich sein - keinen der anderen Fälle deckt er ab.

        Siehe zB 'perldoc -q float', unter dem Punkt 'How do I determine whether a scalar is a number/whole/integer/float?' aus der perlfaq4.

        use Tschoe qw(Matti);

        --
          Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
    2. is_numeric(var)

      1. Hallo Manuel.

        is_numeric(var)

        Wenn du schon unter Missachtung sämtlicher Höflichkeits-, Anstands- und Forumsregeln so einen Einzeiler hinwirfst, dann werfe bitte wenigstens auch noch den Code deiner Funktion namens is_numeric() hinterher. Und einen Dollar musst du auch noch investieren, damit es überhaupt funktioniert.

        Freundschaft!
        Siechfred

        --
        Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
        Dankbarkeit, man spürt sie ja so selten bei den Menschen, und gerade die Dankbarsten finden nicht den Ausdruck dafür, sie schweigen verwirrt, sie schämen sich und tun manchmal stockig, um ihr Gefühl zu verbergen. (Stefan Zweig)