操作の中には、TRUNC 指令によって結果が変わるものがある。その様子を次に示す。この例では、項目 A の PIC は 99 COMP と記述されている。
操作 |
編集の結果挿入される文字 |
TRUNC |
NOTRUNC |
TRUNC"ANSI" |
MOVE 163 TO A |
63 |
163 |
63 |
MOVE 263 TO A |
63 |
7 |
63 |
MOVE 13 TO A, ADD 150 TO A |
63 |
163 |
不定の結果 |
MOVE 13 TO A, ADD 250 TO A |
63 |
不定の結果 |
不定の結果 |
注:
- この指令は、非整数データの下位の桁の切り捨てには効力をもたない。この操作は常に ANSI COBOL の規定に準拠して行われる。
- IBMCOMP コンパイラ指令を設定すると、COMP 項目の上位に余分のバイトが割り当てられることがある。これらのバイトは割り当てられた記憶域に含められる。IBMCOMP がオンであると、SYNC 句を伴う COMP 項目の前に充てん文字が埋められることがある。この充てん文字はその項目の一部ではなく、その項目に記録されるデータに影響されることはない。
- 符号付き項目に収められる値の桁数が PICTURE 句によって制限されている場合、符号ビットまで上書きする桁数を取ることはできない。ただし、NOTRUNC 指令が設定されている場合は例外で、値が大きければ、符号ビットを上書きする。