【问题标题】:Is there an existing gem or script that converts comp-3/packed decimal format to number?是否存在将 comp-3/压缩十进制格式转换为数字的现有 gem 或脚本?
【发布时间】:2011-02-24 04:37:06
【问题描述】:

我开始了将 COBOL 程序转换为 Ruby 程序的新冒险,我必须将 comp-3/压缩十进制格式转换为数字。

来自另一个previous post,有代码可以从数字转换为comp-3,但不能反过来。

【问题讨论】:

  • 您所需要的只是与之前的答案相反。为什么这么难?
  • 确实逆了它,但是,它想出了一些有趣的字符。此后通过让客户端“显示”数据而不打包数据来解决它。感谢您查看此内容。
  • @RedNax,您可以发布您的解决方案作为答案并接受它;)然后人们可以投票赞成,如果它对他们有帮助...您可能还包括如何转换 comp- 3 转换成可显示的格式。我今天实际上遇到了这个问题:)

标签: ruby cobol comp-3


【解决方案1】:

COMP-3 通常是 IBM 唯一的压缩十进制方法。过去我在将 IBM 上的压缩十进制转换为其他格式时遇到过问题。我通常必须将我的目标大小填充一个字节才能使大小匹配。

我不知道有任何 COMP 转换程序或实用程序可以帮助您解决此问题。

【讨论】:

  • 在许多其他芯片组和架构上都有压缩十进制形式。想到 Motorol 68k 和 WD65x。甚至 Intel x86 系列也提供打包支持。
  • 这不是问题所在。他正在要求一个转换工具来为他做这件事。 COMP-3 是 IBM 编译器唯一的压缩十进制版本。您不会在其他任何地方找到 COMP-3。这并不意味着压缩十进制不存在,只是 COMP-3 不存在。
  • COMP-3 只是一个拼写。 PACKED-DECIMAL 在 IBM 的 Enterprise COBOL 中同样可以接受。您过去可能已经填充过,但想不出为什么。来自 COBOL 程序的 IBM 数据可能(但不太可能)提供一些额外的符号可能性。使用这些可能性去另一种方式可能会造成一些事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-22
  • 1970-01-01
  • 2023-04-10
  • 2010-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多