cobol - 如何在 COBOL 中使用 DIVIDE 和 CONDENSED NUMERIC Varibale
问题描述
我的问题是:我在数据库表中有数据。该列是:Z-ZYTL-RTPDHR
定义为NOT NULL NUMBER(5,2)
。
所以我有一个程序,我需要将我的数据移动到一个变量“H-ZYTL-RTPDHR”中,然后在我编译时将这个值除以 100 在 Z8 列中除以 100,我获得了 Excel 与不同列中的数据。
我的数据:
Z8
------
34,28
70
97
8,57
21,43
94,28
94,28
100
40
40
我应该得到什么:
Z8
-------
0,3428
0,7
0,97
0,0857
0,2143
0,9428
0,9428
0,100
0,40
0,40
我的问题是如何声明变量以获得好的结果?
我声明的变量:
01 FILLER.
05 H-ZYTL-RTPDHR.
10 PIC S9(5)V9(2) comp-3 VALUE.
05 FILLER REDEFINES H-ZYTL-RTPDHR.
10 H-ZYTL-RTPDHR comp-3 pic s9(5)v99.
等效 Temps Plein
05 W-Z8 PIC -(5),99.
05 FILLER PIC X(001) VALUE ';'.
ALIM-WZ8 SECTION.
IF Z-ZYTL-NOMBRE > ZERO
IF TLCODTRA(Z-ZYTL-NOMBRE) NOT = SPACES
MOVE Z-ZYTL-RTPDHR(Z-ZYTL-NOMBRE) TO
H-ZYTL-RTPDHR
DISPLAY 'H-ZYTL-RTPDHR:' H-ZYTL-RTPDHR
DIVIDE H-ZYTL-RTPDHR BY 100 GIVING W-Z8
DISPLAY 'W-Z8 : ' W-Z8
END-IF
END-IF.
解决方案
您已经定义了H-ZYTL-RTPDHR
两次名称:这会使您和编译器感到困惑。
你的第二个定义H-ZYTL-RTPDHR
适合做算术。所有你需要的是
01 FILLER.
10 H-ZYTL-RTPDHR comp-3 pic s9(5)v99.
您的第一个定义H-ZYTL-RTPDHR
定义了组级别 item,您不能用它进行算术运算。
但是,您的问题没有显示Z-ZYTL-RTPDHR
. 如果它不是数字,那么您将不会得到您期望的结果。
推荐阅读
- twig - 删除 Twig 中第一次出现的字符
- php - 如何在以下示例中的单词之间添加适当的空格 - PHP
- python - 根据python中的其他列生成自定义ID
- javascript - 使用 cURL 访问 API 可以正常工作,但不能使用 Fetch API
- c - c中的声波锯齿
- php - 使用从数据库检索到的数据创建超链接并使用 get()
- python - 如何导入 .txt 文件进行开发和算法来操作数据?
- javascript - 如何在按下按钮时创建一个框
- microsoft-graph-api - Microsoft Graph API BETA - 报告返回 userPrincipalName 加密/散列
- css - ASP.Net - 根据背后的逻辑更改按钮的 CssClass 属性