PIC2D (Picture-to-Decimal)
Syntax:
PIC2D(picnum[,national][,synerrval])
Arguments:
-
picnum
-
the printable formatted number to be converted. The number
must not exceed 256 bytes in length, including blanks and
editing characters.
-
national
-
a 3 byte string containing the characters to be used for
the currency symbol, the decimal point, and the hundreds
separator, respectively. The default national string is
'$.,' (where the dollar sign is the currency symbol, the
period is the decimal point character, and the comma is
the hundreds separator). This string, if coded, must be
exactly 3 bytes in length and cannot contain blanks or any
of the other valid picture symbols.
-
synerrval
-
indicates the value to be returned if a syntax error is
detected. This argument can be used to handle normally
occurring invalid data. For example, null strings.
Module Name:
SWXPIC2D
Service Description:
The PIC2D function is used to format "pretty printed" numeric
data into the REXX decimal number format. Blanks and all
characters other than numeric digits (0-9), the sign indictor,
and the decimal point are stripped out in the result.
The recognized sign indicators are '+', '-', 'DB', and 'CR'. The
'DB' and 'CR' symbols produce a negative result. If more than one
sign indicator is present, the last one scanned (working from
left to right) will be used.
The decimal point character is identified using the second byte
of the national argument (the default is a period). If necessary,
this character is converted to the REXX decimal point character
(always a period) before it is copied to the result. An error
results if more than one decimal point is present in the picnum
argument.
If no decimal digits are found in the picnum argument, a single
zero is returned.
Returned Information:
The PIC2D function returns the REXX decimal representation of
picnum. If you CALL the PIC2D function, the returned value is
contained in the RESULT special variable. The RC special variable
is unchanged.
Examples:
-
Call the PIC2D function to convert the picture formatted number in
PICNUM. In this example, the roles of the comma and decimal point
are reversed (French currency notation).
picnum = 'f 1.792,42 CR'
amount = pic2d(picnum,'f,.')
/* amount = -1792.42 */
© Copyright 1998 by Open Software Technologies, Inc.