将已签名的cobol编号转换为红宝石

问题描述 投票:6回答:3

我有一个ascii文件,它是来自基于cobol的系统的数据转储。

文档中有一个字段是PIC S9(3)V9(7).

这是十六进制(和ASCII)字段及其代表的结果数的两个示例(取自另一来源)。>>

Hex                                Reported value 

30 32 38 36 38 35 38 34 35 46      28.687321
ascii : 028685845F

30 39 38 34 35 36 31 33 38 43      -98.480381
ascii : 098456138C

我正在使用ruby,即使添加了隐含小数,我似乎仍然得到了错误的数字。我正在尝试解析IBM Cobol Docs,但希望获得帮助。

给出“ PIC S9(3)V9(7)的隐式十进制Cobol字段。如何使用红宝石将其转换为带符号的浮点数?

我有一个ascii文件,它是来自基于cobol的系统的数据转储。文档说有一个字段是PIC S9(3)V9(7)。这是十六进制(和ascii)字段的两个示例,其结果是...

ruby cobol
3个回答
0
投票

假设数据字节已通过哑EBCDIC到ASCII转换器运行,那么这两个值是+28.6858456和+98.4561383。这意味着生成的“报告值”列的内容被破坏或使用不同的字节作为其来源。


0
投票

正如Mark Reed所说,我认为数字是+28.6858456和+98.4561383。


0
投票
028685845F
098456138C
© www.soinside.com 2019 - 2024. All rights reserved.