我仍然与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 GRADIMy科学计算器说: 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.