免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ziluolanlnn

区位十进制格式的区部分到底是什么用意? [复制链接]

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-11-05 06:20:00
发表于 2011-04-25 20:01 |显示全部楼层
回复 10# bicin


    貌似在数据库看的时候是没小数点的,要看你定义的FIELD是带几个小数点

论坛徽章:
0
发表于 2011-04-27 11:35 |显示全部楼层
回复 11# junlee1986


    有道理。
  假如在内存中,有个同名同长度但不同小数位数的参数读取该字段,取到的值(小数点位置)就要变化了吧

论坛徽章:
0
发表于 2011-08-05 22:37 |显示全部楼层
回复  ux400


    你好,请问下400对于小数点的标识是怎么样的呢。从你的数据中,可以看到
8P 0类型: ...
bicin 发表于 2011-04-25 14:22



好久没来,小数位数的定义应该在系统的数据字典里。

F 表示整数, D 表示负数。

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-11-05 06:20:00
发表于 2011-08-06 12:13 |显示全部楼层
}这个表示什么?

论坛徽章:
0
发表于 2014-02-27 10:18 |显示全部楼层
2类型是什么类型。。

论坛徽章:
0
发表于 2014-03-20 10:21 |显示全部楼层
本帖最后由 franliu 于 2014-03-20 10:55 编辑

zonned decimal: 一个数字位占据一个字节。如果定义十位数字,就占据10个字节。

数字 12345678 用十六进制表示就是:

F0 F0 F1 F2 F3 F4 F5 F6 F7 F8

对正数而言,它是和字符串 '0012345678' 的内码是一样的。

packed decimal: 一个字节可以存储2位数字。不过需要额外半个字节存储符号(正或者是负)。这样定义6位或者7位数字都占据4个字节。数字 12345 用十六进制表示就是:

00 12 34 5F

最后半字节 F 表示正数,D 表示负数

如果你有一个 RPG 程序,输入参数是  packed decimal 8 位, 你在命令行里调用他,需要输入值  12345 的时候,命令行应该这样写:

                                               
CALL  PGM(MY_PGM) PARM(X'000012345F')


如果你有一个 RPG 程序,输入参数是  zoned  decimal 8 位, 你在命令行里调用他,需要输入值  12345 的时候,命令行应该这样写:

                                               
CALL  PGM(MY_PGM) PARM('00012345')

注意只有在输入参数是 packed decimal 15,5  的时候你才可以这样调用:

CALL PGM(MY_PGM) PARM(12345)


小数点是不占据存储字节的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP