cobol中的逗号?

问题描述 投票:0回答:1

我仍然与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 gnucobol
1个回答
1
投票

我的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

2
投票

在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.
© www.soinside.com 2019 - 2024. All rights reserved.