| benum |
|
Table of contents
Procedure
BENUM ( Be a number? )
LOGICAL FUNCTION BENUM ( STRING )
Abstract
Determine whether a string represents a number.
Required_Reading
None.
Keywords
ALPHANUMERIC
NUMBERS
SCANNING
UTILITY
Declarations
IMPLICIT NONE
CHARACTER*(*) STRING
Brief_I/O
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
STRING I Character string.
The function returns .TRUE. if the string is a number.
Otherwise, it returns .FALSE.
Detailed_Input
STRING is any string.
Detailed_Output
If the input string contains a number (as defined in
$Particulars below) the function returns .TRUE. Otherwise,
the function returns .FALSE.
Parameters
None.
Exceptions
Error free.
Files
None.
Particulars
A number may be either of the following:
1) A decimal number (as defined by function BEDEC).
2) A decimal number followed by an exponent character
('E', 'e', 'D', or 'd') and an integer (as defined
by function BEINT).
Examples
Four classes of numbers recognized by the various BE functions.
UNS unsigned integer
INT integer (includes INT)
DEC decimal number (includes UNS, INT)
NUM number (includes UNS, INT, NUM)
The following table illustrates the differences between
the classes. (Any number of leading and trailing blanks
are acceptable.)
String Accepted by
------------------ ------------------
0 UNS, INT, DEC, NUM
21
21994217453648
+0 INT, DEC, NUM
-13
+21946
1.23 DEC, NUM
12.
.17
+4.1
-.25
2.3e17 NUM
17.D-13275849
-.194265E+0004
Note that the functions don't take the magnitudes of the numbers
into account. They may accept numbers that cannot be represented
in Fortran variables. (For example, '2.19E999999999999' probably
exceeds the maximum floating point number on any machine, but
is perfectly acceptable to BENUM.)
The following strings are not accepted by any of the functions.
String Reason
--------------- ----------------------------------------
3/4 No implied operations (rational numbers)
37+14 No explicit operations
E12 Must have mantissa
217,346.91 No commas
3.14 159 264 No embedded spaces
PI No special numbers
FIVE No textual numbers
CXIV No roman numerals
Restrictions
None.
Literature_References
None.
Author_and_Institution
J. Diaz del Rio (ODC Space)
W.L. Taber (JPL)
Version
SPICELIB Version 1.1.0, 24-NOV-2021 (JDR)
Added IMPLICIT NONE statement.
Edited the header to comply with NAIF standard.
SPICELIB Version 1.0.0, 01-DEC-1995 (WLT)
|
Fri Dec 31 18:35:59 2021