Thread Prüfen, ob Zahl oder String (16 answers)
Opened by renee at 2003-10-09 15:34

Dubu
 2003-10-20 21:50
#62409 #62409
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Wenn im zweiten Fall "ja" herauskommt, ist dein perl kaputt, denn die Zahlen sind nicht gleich. ;)

Was den Underscore angeht: Perl mag ihn nur zwischen Ziffern, wo er ja auch sinnvoll ist; an anderen Stellen einer Zahl gibt's eine Warnung.

Zum Problem siehe uebrigens auch perldata:
[quote=Scalar values,perldata]
[...] At other
      times, you might prefer to determine whether string data can be used numerically by calling the POSIX::strtod() function
      or by inspecting your string with a regular expression (as documented in perlre).
          warn "has nondigits"        if     /\D/;
          warn "not a natural number" unless /^\d+$/;             # rejects -3
          warn "not an integer"       unless /^-?\d+$/;           # rejects +3
          warn "not an integer"       unless /^[+-]?\d+$/;
          warn "not a decimal number" unless /^-?\d+\.?\d*$/;     # rejects .2
          warn "not a decimal number" unless /^-?(?:\d+(?:\.\d*)?|\.\d+)$/;
          warn "not a C float"
              unless /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/;

[/quote]

View full thread Prüfen, ob Zahl oder String