Syntaxe
|
ADD ident1 TO balance ROUNDED.
|
|
MULTIPLY ident1 BY ident2 GIVING ident3 ROUNDED.
|
|
COMPUTE ident1 ROUNDED = ident3.
|
Paramètres
| Nom |
Description |
| ident1 |
Ce paramètre représente un champ ou une variable contenant une valeur à ajouter, multiplier ou modifier. Ce champ est utilisé comme entrée pour l'opération. |
| balance |
Ce paramètre fait référence au champ ou à la variable dans laquelle le résultat de l'opération est stocké. C'est ici que la somme est ajoutée. |
| ident2 |
Ce paramètre est utilisé uniquement dans les opérations de multiplication, représentant une autre valeur avec laquelle ident1 est multiplié. |
| ident3 |
Ce paramètre est utilisé dans les calculs de multiplication ou de calculs avec l'instruction COMPUTE. Il stocke le résultat de l'opération avant arrondi. |
Description
Cette instruction permet d'indiquer le nom du champ allant recevoir le résultat.
Remarques
- L'instruction ROUNDED est utilisée pour améliorer la précision des résultats numériques. Lorsqu'une opération arithmétique produit une valeur avec plus de chiffres
que le champ de destination ne peut en contenir, ROUNDED applique un arrondi au chiffre significatif le plus proche, évitant ainsi une simple troncature.
- ROUNDED intervient après l'application de la règle de saturation. Si le résultat dépasse la capacité du champ cible, COBOL effectue d'abord un arrondi,
puis applique les vérifications de dépassement (overflow). Cela permet de gérer plus proprement les cas limites dans les calculs.
- Elle peut être utilisée dans plusieurs types d'opérations arithmétiques. ROUNDED s'emploie notamment avec les instructions ADD, MULTIPLY, et COMPUTE, ce qui en fait une
fonctionnalité polyvalente pour toute opération nécessitant un contrôle précis du format de sortie.
- Le mot-clef ROUNDED est placé immédiatement après le champ recevant le résultat. Il suit toujours le nom de la variable ou du champ qui doit contenir la valeur
arrondie, indiquant clairement l'intention du programmeur quant à la gestion de la précision.
- L'utilisation de ROUNDED peut éviter des erreurs d'arrondi silencieuses. Dans les applications financières, comptables ou statistiques, cet arrondi explicite évite
les écarts minimes mais cumulatifs dus aux troncatures, ce qui renforce la fiabilité du calcul.
- ROUNDED est inefficace si le champ cible est assez grand pour contenir le résultat complet. En effet, s'il n'y a pas de perte de chiffres significatifs, l'arrondi
ne sera pas appliqué. Cela signifie que son effet dépend aussi de la définition PICTURE du champ de destination.
- Elle peut être combinée avec l'instruction ON SIZE ERROR pour gérer les exceptions. Lorsqu'on utilise ROUNDED, il est souvent recommandé d'ajouter un contrôle
ON SIZE ERROR pour réagir si le résultat arrondi dépasse toujours les limites du champ.
- Le comportement de ROUNDED respecte la norme COBOL pour les arrondis décimaux. L'arrondi est basé sur le chiffre immédiatement après la position maximale
autorisée : s'il est égal ou supérieur à 5, le chiffre précédent est incrémenté. Cette méthode respecte la convention mathématique classique d'arrondi au plus
proche.
Dernière mise à jour : Jeudi, le 28 juillet 2011