Depende del redondeo intermedio y del redondeo final.
ver este para más información:
D.13a Redondeo
COBOL proporciona la capacidad de especificar el redondeo en los estados aritméticas y expresiones en varios puntos en el proceso de evaluación y como valores se preparan para el almacenamiento en recibir elementos de datos.
Hay ocho formas diferentes de redondeo compatible con este estándar:
• fuera-de-CERO: El redondeo es al valor más cercano de magnitud mayor.
• MÁS CERCANO A FUERA DE CERO: Redondeo al valor más cercano. Si dos valores están igualmente cerca, se selecciona el valor con mayor magnitud. Históricamente, este modo se ha asociado con la cláusula ROUNDED en versiones anteriores de COBOL estándar.
• MÁS CERCANO: redondeo al valor más cercano. Si dos valores están igualmente cerca, se selecciona el valor cuyo dígito más a la derecha sea par. Este modo a veces se llama "redondeo bancario".
• MÁS CERCA DE HORA: Redondeo al valor más cercano. Si dos valores están igualmente cerca, se selecciona el valor con la magnitud más pequeña.
• PROHIBIDO: Como el valor no se puede representar exactamente en el formato deseado, la condición EC-SIZE-TRUNCATION se establece para existir y los resultados de la operación no están definidos.
• HACIA ADELANTE: El redondeo es hacia el valor más cercano cuyo valor algebraico es mayor.
• HACIA ABAJO: El redondeo es hacia el valor más cercano cuyo valor algebraico es más pequeño.
• TRUNCACIÓN: El redondeo es al valor más cercano cuya magnitud es menor. Históricamente, este modo se ha asociado con la ausencia de la cláusula ROUNDED así como también con la formación de resultados intermedios en el estándar COBOL anterior.
El programador puede especificar cómo se redondean los valores intermedios individuales cuando se almacenan en elementos de datos de recepción a través de la cláusula ROUNDED; puede seleccionar un modo de redondeo predeterminado que se utilizará cuando la cláusula ROUNDED aparezca sin calificación adicional en un elemento de datos receptor a través de la cláusula MODO REDONDEADO PREDETERMINADO del párrafo OPCIONES de la DIVISIÓN DE IDENTIFICACIÓN; y puede especificar cómo se redondean las operaciones aritméticas y las conversiones hacia y desde las formas intermedias a través de la cláusula INTERMEDIATE ROUNDING.
D.13a.1 Intermedio redondeo
redondeo intermedio se aplica cuando los elementos de datos se recuperan para su inclusión en una operación aritmética o expresión aritmética, y durante la ejecución de los operadores aritméticos para producir un resultado intermedio.
En la norma anterior, para multiplicación y división en Aritmética estándar, el modo de redondeo predeterminado para resultados inexactos era el truncamiento a 32 dígitos significativos. Este valor predeterminado no se modifica en este estándar, y también es el predeterminado para la aritmética Estándar-Binaria y Decimal-Decimal.
Cuando el valor intermedio se puede representar exactamente en el formato intermedio apropiado, se usa el valor exacto.
En el caso de que el valor no pueda representarse exactamente, el usuario puede ahora especificar otros modos de redondeo para operaciones aritméticas y conversiones hacia y desde formas intermedias usadas en las operaciones aritméticas a través de la cláusula opcional INTERMEDIATE ROUNDING de OPTIONS párrafo de la DIVISIÓN DE IDENTIFICACIÓN.
En concreto, las siguientes opciones están disponibles:
• INTERMEDIO redondeo es CERCANA-lejos-de-CERO • INTERMEDIO redondeo es CERCANO DE EQUILIBRIO • INTERMEDIO redondeo se PROHIBIDO • INTERMEDIO redondeo es TRUNCAMIENTO
para el cual las descripciones de la subcláusula se encuentran en D.13a, Redondeo.
Si no se especifica la cláusula INTERMEDIA DE REDONDEACIÓN, se presume que REDONDEAR INTERMEDIA ES TRUNCACIÓN. Esto no se modifica con los estándares anteriores.
D.13a.2 final redondeo (la cláusula redondeado)
redondeo final se aplica a la formación del resultado final de la expresión o declaración, a la finalización de la evaluación de la declaración o expresión, inmediatamente antes de la el resultado se coloca en el destino. Esta forma de redondeo es la que está asociada con la cláusula ROUNDED.
En las normas COBOL anteriores, solo se proporcionaban dos métodos de redondeo "final": redondeo hacia la magnitud menor (truncamiento, señalado por la ausencia de la cláusula ROUNDED); y redondeando a los valores más cercanos, y si dos valores estaban igualmente cerca, elija el valor con la magnitud más grande (señalada por la presencia de la cláusula ROUNDED).
La cláusula REDONDEADO se ha mejorado para permitir la selección explícita de cualquiera de los ocho modos de redondeo (incluyendo los dos previamente disponible):
• Modo redondeado fuera-de-ZERO • MODO REDONDEADO es la más cercana-AWAY -DE-ZERO • MODO rEDONDEADO es la más cercana DE EQUILIBRIO • MODO redondeado-CERCANO HACIA-ZERO • MODO rEDONDEADO SE PROHÍBE • redondeado MODO ES HACIA MAYOR- • MODO rEDONDEADO es hacia Minoritarias • rEDONDEADO modo es TRUNCACIÓN
Si la cláusula ROUNDED no está presente para un resultado dado, se aplican las reglas para el MODO REDONDEADO TRUNCATION.
La cláusula de MODO REDONDEO PREDETERMINADO opcional en el párrafo OPCIONES de la DIVISIÓN DE IDENTIFICACIÓN se proporciona para permitir al usuario especificar el modo de redondeo a cualquier operación para la cual la cláusula ROUNDED aparece sin la subcláusula MODO IS.
La cláusula MODO POR DEFECTO redondeada puede tomar cualquiera de estas formas:
• modo por defecto redondeado fuera-de-ZERO • modo por defecto REDONDEADO está más cerca-lejos-de-ZERO • modo por defecto redondeado CERCANO DE EQUILIBRIO • modo por defecto redondeado CERCANA-HACIA-ZERO • modo por defecto rEDONDEADO está prohibido • modo por defecto redondeado HACIA-MAYOR • modo por defecto rEDONDEADO es hacia Minoritarias • DEFAULT rEDONDEADO MODO es que se trunca
para el cual el subcláusulas del MODO REDONDEADO PREDETERMINADO es la cláusula a descrito en D.13a, Redondeo.
Si la cláusula MODO REDONDEADO PREDETERMINADO no aparece en el programa, se ha especificado el efecto de la cláusula REDONDEADA sin la subcláusula MODO IS como si el MODO REDONDO ESTÁ MÁS CERCA DE CERO. Esto proporciona la misma funcionalidad disponible en los estándares COBOL anteriores.
Si aparece la cláusula DEFAULT ROUNDED MODE, las cláusulas ROUNDED sin la subcláusula MODE IS se tratan como si se hubieran especificado con el modo de redondeo especificado en la cláusula DEFAULT ROUNDED MODE.
respuesta Odd ... me sale 597.88 que creo que es correcto ¿Qué compilador COBOL estás usando? – NealB