Rainer Honsch: Variablen überprüfen, ob jedes Zeichen eine Zahl ist ?!

Hallo !

Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
Ich weiß, daß ich z.B. mit:
if ($var =~ /[1]{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


  1. 0-9 ↩︎

  1. Hi

    if ($var =~ /[\d+]/)

    wuerde ich nu mal versuchen. Bin jetz nich so ganz in der Materie...

    CU
    speedy

  2. Hallo !

    Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
    Ich weiß, daß ich z.B. mit:
    if ($var =~ /[1]{1,2}/)

    Na zB so:

    /[2]*$/

    Möglicherweise geht es auch noch so

    /^\d*$/

    Da müßte ich aber nachsehen,

    und dazu bin ich wie du zu faul.

    mfg


    1. 0-9 ↩︎

    2. 0-9 ↩︎

  3. Hallo Rainer,

    Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
    if ($var =~ /[1]{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


    1. 0-9 ↩︎

    1. Hi,

      Probier`s mal mit:  if ($var =~ /^\d+$/)
      Das dürfte allerdings nicht mit Kommazahlen funktionieren (muß es vielleicht ja auch nicht :-).

      /[1]+$/

      bzw. ganz sorgfältig:

      /^-?\d+(?!.\d+)?$/

      (ungetestet)

      Cheatah


      1. \d. ↩︎

      1. 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

        1. Hi,

          Warum '(?!' ? So darf .\d+ eben *nicht* mehr folgen. Sollte doch '(?:' sein oder? Also

          äh... ja, genau, danke :-)

          Cheatah

  4. Hallo !

    Ich würde gerne überprüfen, ob eine Variable nur Zahlen enthält ?!
    Ich weiß, daß ich z.B. mit:
    if ($var =~ /[1]{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


    1. 0-9 ↩︎