1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Help examples for the @ISxxx functions

Discussion in 'Support' started by samintz, Oct 24, 2011.

  1. samintz

    samintz Scott Mintz

    Joined:
    May 20, 2008
    Messages:
    1,189
    Likes Received:
    11
    Whilst investing Steve's feature request, I tried to write a simple @CLASS
    function that would return the type of the string using Steve's criteria.
    I was surprised to find that a string of a floating point number was not
    identified as numeric.

    So I went to the help file under @ISDIGIT and @ISALNUM. Each one has
    three examples listed. In the case of @ISDIGIT:


    echo %@isdigit[0]
    echo %@isdigit[123.456]
    echo %@isdigit[-123]

    Only the first example returns 1. The other two return 0. Based on the
    description, that makes sense (ex 2 contains a period and ex 3 contains a
    dash). However, it might be nice if the examples showed the expected
    results and explained why.

    I don't know what the intent of these functions are. If it's for parsing
    purposes, then I think I'd be more interested in whether the string is
    numeric as opposed to all the digits being numbers. Otherwise, if I'm
    only looking at single characters and testing what that individual
    character is, then I'd only want to look at the first character of a
    string.

    Mind you, based on the fact that I probably haven't used these functions
    before, it's not all that big a deal to me.

    -Scott
     
  2. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,856
    Likes Received:
    83
    Which is why there's a @NUMERIC[] function.
     
  3. samintz

    samintz Scott Mintz

    Joined:
    May 20, 2008
    Messages:
    1,189
    Likes Received:
    11
    Well, there you go then. I don't what you're always complaining about. ;)
    -Scott





    Quote:

    Which is why there's a @NUMERIC[] function.
     
  4. Steve Fabian

    Joined:
    May 20, 2008
    Messages:
    3,520
    Likes Received:
    4
    From: samintz
    ...
    | I don't know what the intent of these functions are. If it's for parsing
    | purposes, then I think I'd be more interested in whether the string is
    | numeric as opposed to all the digits being numbers. Otherwise, if I'm
    | only looking at single characters and testing what that individual
    | character is, then I'd only want to look at the first character of a
    | string.

    First, I appreciate your interest in my request. However, the issue came up when I revised one of my batch programs whose input string or strings are represenatations of keyboard keys that can be used as desktop hotkeys (when combined with modifiers, such as alt-ctrl-shift). My earlier version required a single string to contain only numbers, or only letters, or the label of a single function-key (F1 ... F12). It collects all keys in a single set before creating a sorted report. Today I enhanced it so all key labels can be combined into a single string, and had many IFF/ELSEIFF and SWITCH statements. There remains some ambiguity - F followed by a digit or two is considered a function key label if valid, so F1 is not equivalent to 1F (the former reports about a function key, the latter about keys F and 1). So indeed my application parses, but its domain does not include all numerics.

    Rex:
    On the help page for @NUMERIC you should add btw. the heading "Examples" and the table of examples that it assumes the US convention for decimal separator (period .) and thousands separator (comma ,).
    --
    Steve
     

Share This Page