То, что вы показали нам здесь, это часть предложения PICTURE
в декларации данных COBOL.
Объявления данных COBOL немного странны и требуют некоторого привыкания.Вот ссылка на вводное руководство по объявлениям на языке COBOL .Это должно начать вас.
В предложении PICture, которое вы задали в своем вопросе, определяется числовой элемент со следующими характеристиками:
S
- ведущий знак 9(5)
- 5 десятичных цифр V
- подразумеваемая десятичная точка 99
- 2 цифры после подразумеваемой десятичной точки
В основном,вы говорите компилятору COBOL определить числовую переменную, способную содержать значения от -99999,99 до +99999,99.Как именно компилятор выполнит этот запрос, зависит от конкретного предложения USAGE
.Однако для числовых элементов, содержащих фиксированную десятичную позицию, «обычное» ИСПОЛЬЗОВАНИЕ равно PACKED-DECIMAL
или COMP-3
(это просто разные имена, означающие одно и то же).Эта ссылка предоставляет некоторую вводную информацию о представлении в хранилище упакованных десятичных данных.
Упакованные десятичные данные полезны для выполнения числовых вычислений, где количество десятичных точек должно оставаться фиксированным.
Запись упакованных десятичных данных в отчет или на терминал не работает особенно хорошо.Сначала вы должны преобразовать его в формат DISPLAY
.Это включает MOVE
вставку упакованного десятичного значения в другую переменную с атрибутом USAGE DISPLAY
.Предположим, что ваша упакованная десятичная переменная называлась PACKED-DECIMAL-NBR
и содержала значение -2345.01.Вы можете определить переменную отображения для хранения:
01 DISPLAY-NBR PIC +++,++9.99.
, тогда, когда придет время для записи / отображения значения, содержащегося в PACKED-DECIMAL-NBR
, вы сделаете что-то вроде:
MOVE PACKED-DECIMAL-NBR TO DISPLAY-NBR
DISPLAY DISPLAY-NBR
MOVE
преобразует упакованное десятичное число в символьное представление, которое вы можете отображать в отчетах или на терминале.Отображается значение -2,345.01
.