Guardian Procedure Calls Reference Manual
flags
input
INT:value
can be used to alter the number format accepted by DNUMIN as follows:
Must be 0.<0:12>
Disallow preceding sign (+/-).<13>
Disallow prefixes (%, #, and so on).<14>
Permit two-word number of the form integer1.integer2 where each unsigned integer must fit in
a 16-bit word.
<15>
If not supplied, flags defaults to zero.
Returned Value
(for DNUMIN)EXTADDR
(for DNUMIN64_)EXT64ADDR
The ‘G'[0] relative byte address of the first character in ascii-num after the number, or the last
character examined in case of an error.
Considerations
• Number conversion stops on the first ASCII character that either does not represent any numeric
value or that represents a numeric value greater than (base -1). For bases greater than 10,
where letters are used to represent the values 10 and above, both uppercase and lowercase
letters are accepted. Embedded commas are not allowed.
• Decimal numeric values must be in the range -2,147,483,648 to +2,147,483,647.
• Numeric values in other number bases must be in the range -%h80000000 to +%hFFFFFFFF.
DNUMIN accepts positive numbers in the 32-bit range and negative numbers in the 31-bit
range.
• EpTAL callers must set the toggle _64BIT_CALLS before sourcing the DNUMIN64_ section
from EXTDECS.
Example
STRING .number[0:15] := ["-2147483640 "];
INT(32) result;
INT base := 10;
INT status := 0;
.
.
CALL DNUMIN ( number, result, base, status );
IF status <> 0 THEN ...
Related Programming Manual
For related programming information about the DNUMIN utility procedures, see the Guardian
Programmer's Guide
324 Guardian Procedure Calls (D-E)