It depends on the intermediate rounding and the final set of rounding.
see this for more information:
D.13a Rounding
COBOL provides the ability to specify rounding in arithmetic operations and expressions at different points in the evaluation process and as values ββare prepared for storage in the receiving data elements.
There are eight different rounding forms supported by this standard:
β’ AWAY-FROM-ZERO: round to the nearest higher value.
β’ NEAREST-AWAY-FROM-ZERO: round to the nearest value. If the two values ββare equally close, a value with a larger value is selected. This mode has historically been associated with the ROUNDED clause in previous versions of the standard COBOL.
β’ NEAREST-EVEN: round to the nearest value. If the two values ββare equally close, then select the value whose rightmost digit is even. This regime is sometimes called "banker rounding."
β’ NEAREST-TOWARD-ZERO: round to the nearest value. If the two values ββare equally close, a value with a smaller value is selected.
β’ FORBIDDEN: since the value cannot be represented exactly in the required format, the condition EC-SIZE-TRENCTION is set, and the results of the operation are undefined.
β’ TOWARD-GREATER: Rounding is the closest value whose algebraic value is greater.
β’ TOWARD-LESSER: Rounding goes to the nearest value whose algebraic value is less.
β’ TRUNCATION: round to the nearest value that is smaller. This mode has historically been associated with the lack of a ROUNDED clause, as well as for generating intermediate results in the previous COBOL standard.
The programmer can specify how individual intermediate values ββare rounded when they are stored in the receiving data elements through the ROUNDED clause; can choose the default rounding mode that will be used when the ROUNDED clause appears without additional qualification in the receiving data element through the DEFAULT ROUNDED MODE clause of the IDENTIFICATION SEPARATION OPTIONS section; and may indicate how arithmetic operations and conversions to and from intermediate forms are rounded through the SIZE OF ROUND statement.
D.13a.1 Intermediate rounding
Intermediate rounding is used when data elements are retrieved for inclusion in an arithmetic operation or arithmetic expression and during the execution of arithmetic operators to obtain an intermediate result.
In the previous standard for multiplication and division in standard arithmetic, the default rounding mode for inaccurate results was truncation to 32 significant digits. This default value does not change in this standard and is also standard for Standard-Binary and Standard-Decimal arithmetic.
When an intermediate value can be represented exactly in the corresponding intermediate format, the exact value is used.
In the event that the value cannot be accurately represented, the user can now also specify other rounding modes for arithmetic operations and for conversion to intermediate forms and from intermediate forms used in arithmetic operations, through the optional INTERMEDIATE ROUNDING clause of the OPTIONS section of the IDENTIFICATION SEPARATION.
In particular, the following options are available:
β’ INTERMEDIATE EQUIPMENT NEAREST FROM ZERO β’ INTERMEDIATE REDUCTION CLOSER - EVEN β’ INTERMEDIATE REDUCTION IS FORBIDDEN β’ INTERMEDIATE EQUIPMENT - TUBING
for which descriptions of subclauses are found in D.13a, Rounding.
If the INTERMEDIATE ROUNDING clause is not specified, it is assumed that the INTERMEDIATE DEFENSE is carried out - TRUCCATION. This has not changed compared to previous standards.
D.13a.2 Final rounding (ROUNDED clause)
The final rounding is applied to the formation of the final result of the expression or operator when the evaluation of the operator or expression is completed immediately before the result is placed at the destination. This rounding form is what is associated with the ROUNDED clause.
In previous COBOL standards, only two βfinalβ rounding methods were provided: rounding to a lower value (truncation signaled by the absence of a ROUNDED clause); and rounding to the nearest values, and if the two values ββwere equally close, select the value with a larger value (signaled by the presence of the ROUNDED clause).
The ROUNDED clause has been expanded to provide an explicit choice of any of eight rounding modes (including two previously available):
β’ ROUND MODE NO RT-ZERO β’ ROUND MODE NEAREST-FROM ZERO β’ ROUND MODE TELE - EVEN β’ ROUND MODE TELE - ROUND - the ZERO β’ ROUND mode is disabled β’ ROUND-MODE REAL-LARGE β’ ROUND MODE violated-Leser β’ ROUND MODE TRENATSIYA
If a ROUNDED clause is missing for this result, the rules for ROUNDED MODE IS TRUNCATION apply.
An optional DEFENSE OPERATOR clause is provided in the IDENTIFICATION SEPARATION OPTIONS section to allow the user to specify the rounding mode for any operation for which the ROUNDED clause appears without the MODE IS submenu.
The DEFAULT ROUNDED MODE clause may take any of these forms:
β’ DEFAULT ROUNDED MODE IS AW-FROM-ZERO β’ DEFAULT ROUND MODE - NEAREST-ZERO β’ SPEED DEFAULT REDUCES β’ DEFAULT ROUNDED MODE NEAREST-TOWARD-ZERO CUTTLE-CUTTED β’ DEFAULT ROUNDED MODE - TOWARD-LESSER β’ DEFAULT ROUNDED MODE TRRUCATION
for which the DEFAULT ROUNDED MODE clauses are described in D.13a, Rounding.
If the DEFAULT ROUNDED MODE clause is not displayed in the program, the effect of the ROUNDED clause without the MODE IS submenu will be as if the ROUNDED MODE IS NEAREST AWAY FROM ZERO has been specified. This provides the same functionality as previous COBOL standards.
If a DEFAULT ROUNDED MODE clause appears, ROUNDED clauses without the MODE IS submenu are processed as if they were specified in the rounding mode specified in the DEFAULT ROUNDED MODE clause.