cobol 中的逗号?
Commas in cobol?
我仍在使用 Cobol:)
我有一个问题,让我们看看这段代码:
ACCEPT A
COMPUTE C= FUNCTION SIN(A)
END-COMPUTE
DISPLAY "Computing."
DISPLAY "Computing.."
DISPLAY "Computing..."
DISPLAY "Computing...."
DISPLAY "Computing....."
DISPLAY "Computing......"
DISPLAY "IL SENO DI " A " RISULTA..."
DISPLAY C " GRADI"
现在,它是 Sinus,但输出是,例如 37:00000000000000 GRADI
我的科学计算器说:0.6018
如您所见,COBOL 不显示逗号后的数字。有没有办法向他们展示?谢谢:)
我的 cobol 不是 gnu,但你可以做类似的事情
01 C comp-2.
01 A pic 999.
01 C1 pic 999.999999.
PROCEDURE DIVISION.
BEGIN.
move 37 to A
COMPUTE C = FUNCTION SIN(A)
END-COMPUTE
move C to C1
DISPLAY "Computing."
DISPLAY "Computing.."
DISPLAY "Computing..."
DISPLAY "Computing...."
DISPLAY "Computing....."
DISPLAY "Computing......"
DISPLAY "IL SENO DI " A " RISULTA..."
DISPLAY C1 " GRADI"
实际输出为
Computing.
Computing..
Computing...
Computing....
Computing.....
Computing......
IL SENO DI 037 RISULTA...
000.643538 GRADI
基于 Rick 和 RB123 已经告诉您的内容,这就是我所看到的答案。描绘具有小数位的数据项的正确方法是使用 V 表示隐含点的位置,而不是使用“.”。它控制小数点仅在编辑的输出字段中显示的位置。主要区别在于您可以在带有 'V' 的字段上输入或计算,并且仅显示或输出带有 '.'
的字段
PS。我在美国,那里的小数点是“.” - 有些国家改用逗号。这可以通过使用 DECIMAL-POINT IS COMMA 特殊名称来更改。
IDENTIFICATION DIVISION.
PROGRAM-ID. Decimals.
ENVIRONMENT DIVISION.
* CONFIGURATION SECTION.
* SPECIAL-NAMES.
* DECIMAL-POINT IS COMMA.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A pic S9(2)V9(5) comp-3.
01 C pic S9(2)V9(5) comp-3.
PROCEDURE DIVISION.
BEGIN.
ACCEPT A
COMPUTE C = FUNCTION SIN(A * 3.14159 / 180)
DISPLAY "Computing."
DISPLAY "Computing.."
DISPLAY "Computing..."
DISPLAY "Computing...."
DISPLAY "Computing....."
DISPLAY "Computing......"
DISPLAY "IL SENO DI " A " RISULTA..."
DISPLAY C " GRADI"
GOBACK.
我仍在使用 Cobol:) 我有一个问题,让我们看看这段代码:
ACCEPT A
COMPUTE C= FUNCTION SIN(A)
END-COMPUTE
DISPLAY "Computing."
DISPLAY "Computing.."
DISPLAY "Computing..."
DISPLAY "Computing...."
DISPLAY "Computing....."
DISPLAY "Computing......"
DISPLAY "IL SENO DI " A " RISULTA..."
DISPLAY C " GRADI"
现在,它是 Sinus,但输出是,例如 37:00000000000000 GRADI 我的科学计算器说:0.6018 如您所见,COBOL 不显示逗号后的数字。有没有办法向他们展示?谢谢:)
我的 cobol 不是 gnu,但你可以做类似的事情
01 C comp-2.
01 A pic 999.
01 C1 pic 999.999999.
PROCEDURE DIVISION.
BEGIN.
move 37 to A
COMPUTE C = FUNCTION SIN(A)
END-COMPUTE
move C to C1
DISPLAY "Computing."
DISPLAY "Computing.."
DISPLAY "Computing..."
DISPLAY "Computing...."
DISPLAY "Computing....."
DISPLAY "Computing......"
DISPLAY "IL SENO DI " A " RISULTA..."
DISPLAY C1 " GRADI"
实际输出为
Computing.
Computing..
Computing...
Computing....
Computing.....
Computing......
IL SENO DI 037 RISULTA...
000.643538 GRADI
基于 Rick 和 RB123 已经告诉您的内容,这就是我所看到的答案。描绘具有小数位的数据项的正确方法是使用 V 表示隐含点的位置,而不是使用“.”。它控制小数点仅在编辑的输出字段中显示的位置。主要区别在于您可以在带有 'V' 的字段上输入或计算,并且仅显示或输出带有 '.'
的字段PS。我在美国,那里的小数点是“.” - 有些国家改用逗号。这可以通过使用 DECIMAL-POINT IS COMMA 特殊名称来更改。
IDENTIFICATION DIVISION.
PROGRAM-ID. Decimals.
ENVIRONMENT DIVISION.
* CONFIGURATION SECTION.
* SPECIAL-NAMES.
* DECIMAL-POINT IS COMMA.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 A pic S9(2)V9(5) comp-3.
01 C pic S9(2)V9(5) comp-3.
PROCEDURE DIVISION.
BEGIN.
ACCEPT A
COMPUTE C = FUNCTION SIN(A * 3.14159 / 180)
DISPLAY "Computing."
DISPLAY "Computing.."
DISPLAY "Computing..."
DISPLAY "Computing...."
DISPLAY "Computing....."
DISPLAY "Computing......"
DISPLAY "IL SENO DI " A " RISULTA..."
DISPLAY C " GRADI"
GOBACK.