代码之家  ›  专栏  ›  技术社区  ›  btelles

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

  •  2
  • btelles  · 技术社区  · 15 年前

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

    1 回复  |  直到 15 年前
        1
  •  4
  •   Marc-André Lafortune    15 年前

    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
    
    推荐文章