« Programmation Cobol » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 180 :
DIVIDE x1 {INTO/BY} x2 GIVING C, D.
// A/x1>A, B/x1>B, x2/x1>C (into), x2/x1>D (into), x1/x2>C (by), x1/x2>D (by)
 
**ROUNDED
+5 au premier digit decimal non inclu
<pre>
77 A PIC 99V99; VALUE 23.43.
77 B PIC 99V99; VALUE 35.56.
77 C PIC 99V9.
 
// A+B=58.99
ADD A,B GIVING C.
> c = |5|8|9| = 58.9
ADD A,B GIVING C ROUNDED.
> c(Rounded) = 58.99 + .05 = 59.04 = |5|9|0| = 59.0
 
</pre>
**ON SIZE ERROR
Sur partie entière, si champ trop petit, le champ n'est pas rempli et exec d'instruction.
<pre>
77 A PIC 999; VALUE 876.
77 B PIC 999; VALUE 150.
77 C PIC 999.
ADD A, B GIVING C; ON SIZE ERROR [instruction].
// A+B=1026 - trop grand pour C >> exec d'instruction
</pre>
 
====de controle====