Zoned Decimal
About
Values are essentially text (so depend on a codepage) e.g. '1234567890'.
Signed fields have a 'C' (for Credit / +) or a 'D' (for Debit / -) as the first half of the last byte.
Limits:
COBOL programs can only handle a maximum of 18 digits by default, although this can be extended to 31 via the 'ARITH(EXTEND)' compiler option.
Other:
Also known as 'ZD'.
Implied decimal places.
Use:
Used on every platform.
ASCII codepage examples
Unsigned
12345 is encoded in hex as 33333 12345 12345.67 is encoded in hex as 3333333 1234567
Signed
+12345 is encoded in hex as 3333C 12345 -12345.67 is encoded in hex as 333333D 1234567
EBCDIC codepage examples
Unsigned
12345 is encoded in hex as FFFFF 12345 12345.67 is encoded in hex as FFFFFFF 1234567
Signed
+12345 is encoded in hex as FFFFC 12345 -12345.67 is encoded in hex as FFFFFFD 1234567