NLCONVNUM [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation
MPE/iX Intrinsics Reference Manual
NLCONVNUM
NM and CM callable.
Converts native language numbers with native decimal and thousands
separators to an ASCII number with NATIVE-3000 decimal and thousands
separators. Optionally, the decimal and thousands separators can be
removed.
Syntax
_____________________________________________________
| |
| I16V CA I16V CA |
| NLCONVNUM(langnum,instring,inlength,outstring,|
| I16V U16V U16V |
| outlength,error,numspec, |
| U16V U16V O-V |
| fmtmask,decimals); |
_____________________________________________________
Parameters
langnum 16-bit signed integer by value (required)
Contains the language ID number, specifying which
numeric formatting rules are to be used in the
conversion.
instring character array (required)
Contains the native language formatted number to be
converted. Leading and trailing spaces are
ignored.
inlength 16-bit signed integer by value (required)
Passes the length, in bytes, of instring.
outstring character array (required)
Contains the converted output, left justified in
the buffer. Outstring can reference the same
address as instring.
outlength 16-bit signed integer by value (required)
Passes the length, in bytes, of outstring. If the
call is successful, outlength contains the actual
length of the converted number.
error 16-bit unsigned integer by value (required)
Returns two elements: the first element is the
error number; the second element is reserved and
always returns 0. The possible error number values
are:
Value Meaning
0 Successful
1 *NLS not installed
2 *Specified language not configured
3 Invalid length specified (inlength or outlength)
4 Invalid number specified (instring)
5 *NLS internal error
6 *NLS internal error
7 Truncation occurred (outstring partially formatted)
8 Invalid numspec parameter
9 Invalid fmtmask parameter
* Do not apply to calls with langnum equal to 0
(NATIVE3000/XL).
numspec 16-bit unsigned integer by value (optional)
Returns a byte array from NLNUMSPEC, containing
format information. If this parameter is present,
langnum is ignored and performance is improved
(refer to NLNUMSPEC).
fmtmask 16-bit unsigned integer by value (optional)
Specifies how to format the number. The default
value is 0 and indicates substitution only.
Bits Value/Meaning
15:1 0 Convert thousands separators
1 Strip thousands separators
14:1 0 Convert decimal separators
1 Strip decimal separators
13:1 0 Any character can be in instring (no validation
as a number is performed)
1 Number contained in instring (no validation as a
number is performed)
0:13 Reserved for the operating system
decimals 16-bit unsigned integer by value (optional)
If fmtmask bit 13 is set to 1, decimals returns the
number of decimal places in the input number.
Operation Notes
Split-stack calls are not permitted.
This intrinsic either:
* Converts a native language formatted number to an ASCII number
with the NATIVE-3000 decimal separator (.) and thousands
separator (,) for use in further conversion to INTEGER, REAL, and
so on.
* Converts the decimal and thousands separators, or strips them (see
fmtmask), to the NATIVE-3000 equivalent.
For languages using an alternate set of digits (ARABIC and HINDI digits
only), this intrinsic converts the digits to ASCII for recognition and
use as numeric characters.
Related Information
Intrinsics NLFMTNUM, NLNUMSPEC, NLSUBSTR
Commands None
Manuals Native Language Programmer's Guide (32650-90022)
MPE/iX 5.0 Documentation