* DISPLAYFLOAT.cbl *Author: Tim Corrie Jr. 10/13/2021 first COBOL program, tried to keep generic *Written for gnuCOBOL IDENTIFICATION DIVISION. PROGRAM-ID. DISPLAYFLOAT. DATA DIVISION. WORKING-STORAGE SECTION. 01 OUTSTR PIC X(4096). 01 NZ-PSZ-INT PIC Z(11)9. 01 NZ-PSZ-FRAC PIC Z(11)9. LINKAGE SECTION. 01 IN-SIGN PIC X. 01 IN-PSZ-INT PIC X(12). 01 IN-PSZ-FRAC PIC X(12). PROCEDURE DIVISION USING IN-SIGN IN-PSZ-INT IN-PSZ-FRAC. DISPLAY "F 0 16777215" DISPLAY "FR 0 0 0 9900 600" DISPLAY "F 0 6052991" DISPLAY "R 0 100 100 9800 500" MOVE IN-PSZ-INT TO NZ-PSZ-INT MOVE FUNCTION REVERSE(IN-PSZ-FRAC) TO NZ-PSZ-FRAC INITIALIZE OUTSTR IF IN-SIGN IS EQUAL TO "-" THEN STRING "R$ 0 9800 520" '"' "-" FUNCTION TRIM(NZ-PSZ-INT TRAILING) DELIMITED BY SIZE "." FUNCTION REVERSE(FUNCTION TRIM(NZ-PSZ-FRAC LEADING)) DELIMITED BY SIZE '"' INTO OUTSTR END-STRING ELSE STRING "R$ 0 9800 520" '"' FUNCTION TRIM(NZ-PSZ-INT TRAILING) DELIMITED BY SIZE "." FUNCTION REVERSE(FUNCTION TRIM(NZ-PSZ-FRAC LEADING)) DELIMITED BY SIZE '"' INTO OUTSTR END-STRING END-IF DISPLAY function TRIM(OUTSTR TRAILING) DISPLAY "Z " EXIT PROGRAM.