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.