是否存在将数字转换为comp-3 /压缩十进制格式的现有gem或脚本?

时间:2010-04-12 17:27:03

标签: ruby-on-rails ruby cobol comp-3

继续我将COBOL转换为Ruby程序的冒险,我必须将十进制数转换为comp-3 /压缩十进制格式。有人知道一个简单的Ruby脚本或宝石吗? 伯恩斯

1 个答案:

答案 0 :(得分:4)

Ruby知道如何打包半字节,所以结果很简单:

def pack_comp(n)
  s = n.abs.to_s + (n < 0 ? "d" : "c")
  s = "0" + s if s.size.odd?
  [s].pack("H*")
end