Opa, tenho o seguinte código, referente ao curso de COBOL dentro do módulo 04. Tomando Decisões e Operadores Relacionais e dentro da aula 05 - Comparando valores:
IDENTIFICATION DIVISION.
PROGRAM-ID. PROGCOB09.
**************************************
* COMMENT AREA - REMARKS
* AUTHOR = JOAO ( BRITO ) JOAOVB
* OBJECTIVE: RECEIVE THE PRODUCT, VALUE, AND CALCULATE SHIPPING
* USE EVALUATE COMMAND
* DATA = 23/02/2024
**************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
DECIMAL-POINT IS COMMA.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WRK-PRODUCT PIC X(20) VALUE SPACES.
77 WRK-UF PIC X(02) VALUE SPACES.
77 WRK-VALUE PIC 9(06)V99 VALUE ZEROS.
77 WRK-SHIPPING PIC 9(04)V99 VALUE ZEROS.
PROCEDURE DIVISION.
DISPLAY 'PRODUTO.. '
ACCEPT WRK-PRODUCT.
DISPLAY 'VALOR.. '
ACCEPT WRK-VALUE.
DISPLAY 'ESTADO.. '
ACCEPT WRK-UF.
EVALUATE WRK-UF
WHEN 'SP'
COMPUTE WRK-SHIPPING = WRK-VALUE * 1,05
WHEN 'MG'
COMPUTE WRK-SHIPPING = WRK-VALUE * 1,10
WHEN 'RJ'
COMPUTE WRK-SHIPPING = WRK-VALUE * 1,15
WHEN OTHER
DISPLAY 'NAO PODEMOS ENTREGAR NESTE ESTADO'
END-EVALUATE
DISPLAY '==============='
DISPLAY 'VALOR DO FRETE ' WRK-SHIPPING
STOP RUN.
Li e revisei o código várias vezes e, se não estiver enganado, ele está exatamente igual ao do professor no minuto 8:22 desta aula, quando ele recebeu no terminal o valor de 1050,00 após rodar o código. No entanto, ao utilizar um código similar e enviar os valores da mesma forma, meu terminal retornou o valor 105000.
Não sei se a definição de vírgulas em variáveis está diferente da época em que os vídeos foram gravados, ou se há algo no código que está obsoleto. Além disso, não encontrei resposta em outros fóruns ou com o auxílio de IAs revisando o código.
Na aula número 2 deste módulo, enfrentei o mesmo problema, mas consegui contorná-lo com uma máscara. No entanto, neste caso, em que é usado o evaluate, tem se mostrado mais complicado encontrar uma solução.
Alguém poderia me dar uma luz, pf? <3