IBM SC34-5764-01 Server User Manual


 
The number is first rounded according to standard REXX rules, just as though the operation number+0 had
been carried out. The result is precisely that of this operation if you specify only number. If you specify any
other options, the number is formatted as follows.
The before and after options describe how many characters are used for the integer and decimal parts of
the result, respectively. If you omit either or both of these, the number of characters used for that part is as
needed.
If before is not large enough to contain the integer part of the number (plus the sign for a negative
number), an error results. If before is larger than needed for that part, the number is padded on the left
with blanks. If after is not the same size as the decimal part of the number, the number is rounded (or
extended with zeros) to fit. Specifying 0 causes the number to be rounded to an integer.
Here are some examples:
FORMAT('3',4) -> '3'
FORMAT('1.73',4,0) -> '2'
FORMAT('1.73',4,3) -> ' 1.730'
FORMAT('-.76',4,1) -> ' -0.8'
FORMAT('3.03',4) -> ' 3.03'
FORMAT(' - 12.73',,4) -> '-12.7300'
FORMAT(' - 12.73') -> '-12.73'
FORMAT('0.000') -> '0'
The first three arguments are as described previously. In addition, expp and expt control the exponent part
of the result, which, by default, is formatted according to the current NUMERIC settings of DIGITS and
FORM. The expp sets the number of places for the exponent part; the default is to use as many as
needed (which may be zero). The expt sets the trigger point for use of exponential notation. The default is
the current setting of NUMERIC DIGITS.
If expp is 0, no exponent is supplied, and the number is expressed in simple form with added zeros as
necessary. If expp is not large enough to contain the exponent, an error results.
If the number of places needed for the integer or decimal part exceeds expt or twice expt, respectively,
exponential notation is used. If expt is 0, exponential notation is always used unless the exponent would
be 0. (If expp is 0, this overrides a 0 value of expt.) If the exponent would be 0 when a nonzero expp is
specified, then expp+2 blanks are supplied for the exponent part of the result. If the exponent would be 0
and expp is not specified, simple form is used. The expp must be less than 10, but there is no limit on the
other arguments.
Here are some examples:
FORMAT('12345.73',,,2,2) -> '1.234573E+04'
FORMAT('12345.73',,3,,0) -> '1.235E+4'
FORMAT('1.234573',,3,,0) -> '1.235'
FORMAT('12345.73',,,3,6) -> '12345.73'
FORMAT('1234567e5',,3,0) -> '123456700000.000'
FUZZ
 FUZZ() 
returns the current setting of NUMERIC FUZZ. See the NUMERIC instruction on page “Purpose” on page
150 for more information.
Here is an example:
FUZZ() -> 0 /* by default */
Functions
186
CICS TS for VSE/ESA: REXX Guide