STRNUMBER
Name
STRNUMBER()
Purpose
Function to determine if a string is a valid numeric value.
Explanation
A string is considered a valid numeric value if IDL can convert it
to a numeric variable without error.
Calling Sequence
result = strnumber( st, [val, /HEX] )
Inputs
st - any IDL scalar string
Outputs
1 is returned as the function value if the string st has a
valid numeric value, otherwise, 0 is returned.
Optional Output
val - (optional) value of the string. double precision unless /L64 is set
Optional Input Keyword
/HEX - If present and nonzero, the string is treated as a hexadecimal
longword integer.
/L64 - If present and nonzero, the val output variable is returned
as a 64 bit integer. This to ensure that precision is not
lost when returning a large 64 bit integer as double precision.
This keyword has no effect on the function result.
/NAN - if set, then the value of an empty string is returned as NaN,
by default the returned value is 0.0d. In either case,
an empty string is considered a valid numeric value.
Examples
IDL> res = strnumber('0.2d', val)
returns res=1 (a valid number), and val = 0.2000d
Notes
(1) STRNUMBER was modified in August 2006 so that an empty string is
considered a valid number. Earlier versions of strnumber.pro did not
do this because in very early (pre-V4.0) versions of IDL
this could corrupt the IDL session.
(2) STRNUMBER will return a string such as '23.45uyrg' as a valid
number (=23.45) since this is how IDL performs the type conversion. If
you want a stricter definition of valid number then use the VALID_NUM()
function.
History
version 1 By D. Lindler Aug. 1987
test for empty string, W. Landsman February, 1993
Hex keyword added. MRG, RITSS, 15 March 2000.
An empty string is a valid number W. Landsman August 2006
Added /NAN keyword W. Landsman August 2006
Added /L64 keyword W. Landsman Feb 2010