Я прочитаю последовательный файл, который содержит некоторую строку, такую как "79.85", "1000", "212.34".
Я хочу преобразовать буквенно-цифровой код в число в этом формате 00000.00?
Мне нужно сложить эти числа и переместить их в поле в формате 0000000.00.
Я попытался:
01 WS_AMOUNT_TXT PIC X(8).
01 WS_AMOUNT PIC 9(5).9(2).
MOVE WS_AMOUNT_TXT(1:8) TO WS_AMOUNT(1:8).
То, что я получил, неожиданно, строка такая же, кактак же.Выравнивание по левому краю и отсутствие начального нуля.
Как сделать так, чтобы он выровнялся по правому краю и имел начальный ноль?
РЕДАКТИРОВАТЬ: я попробовал предложение NealB, и оно, к сожалению, не удалось:
01 WS_AMOUNT_NUM PIC 9(5)V9(2).
01 WS_AMOUNT_DISPLAY PIC 9(5).9(2).
01 WS_AMOUNT_TXT PIC X(8).
DISPLAY WS_AMOUNT_TXT
COMPUTE WS_AMOUNT_NUM = FUNCTION NUMVAL (WS_AMOUNT_TXT)
MOVE WS_AMOUNT_NUM TO WS_AMOUNT_DISPLAY
79.85 << это то, что было отображено, когда я позвонил DISPLAY WS_AMOUNT_TXT И ПОТОМ ОНА СТАЛА.</p>
% Недопустимый аргумент COB-F-NUMVALARGINV, NUMVAL или NUMVAL-C% TRACE-F-TRACEBACK, дамп символического стека следует за обычной строкой модуля изображения, относящейся к ПК abs PC DEC $ COBRTL 0 000000000001F2B8 000000007C2F72B8 DEC $ COBRT 0 0000000000 064 $ COBRT000000007C2EC764 декабря $ COBRTL 0 0000000000014C44 000000007C2ECC44 DAILY_SPLIT_REFUND_ADJ DAILY_SPLIT_REFUND_ADJ DAILY_SPLIT_REFUND_ADJ 121 00000000000003C4 00000000000303C4 DAILY_SPLIT_REFUND_ADJ 0 00000000000313A0 00000000000313A0 0 FFFFFFFF80271EF4 FFFFFFFF80271EF4