Как переместить знак в конце в обычное десятичное поле в COBOL

#edit #numeric #cobol

Вопрос:

У меня есть поле, такое как 03 ws-var1, рис. s9(11), v9(2) , знак, заканчивающийся отдельно.

В файле op значение отображается как 00000002999200

Но я хочу, чтобы он отображался как 29992,00. Какое определение должно быть дано в COBOL, чтобы я получил этот желаемый результат.

Комментарии:

1. Используйте определение PIC-Z(10)9.99 Переместите WS-VAR1 в поле отображения, затем выведите.

2. @GilbertLeBlanc Этот комментарий-абсолютно правильный ответ. Хотя вопрос может быть расширен, чтобы повысить его полезность, не могли бы вы перенести его в ответ с минимальным примечанием об отредактированных полях в целом?

Ответ №1:

изображение Результат Длина Примечания
9(11).9(2) 00000029992.00 15 Знак или - будет показан
-9(11).9(2) 00000029992.00 15 Значение - будет отображаться только в том случае, если значение отрицательное
(11)9.9(2) 29992.00 15 Знак или - будет показан
-(11)9.9(2) 29992.00 15 Значение - будет отображаться только в том случае, если значение отрицательное
Z(10)9.9(2) 29992.00 14 Табличка снята.

В каждом случае пробелы будут присутствовать перед каждым результатом, если количество отображаемых символов меньше длины поля.