Существует ли гем или скрипт, который преобразует десятичный формат comp-3/packed в число?

Я начинаю новое приключение по преобразованию программы COBOL в программу Ruby, мне нужно преобразовать десятичный формат comp-3/packed в число.

Из другого предыдущий пост, есть код, который преобразует число в comp-3, но не наоборот.


person RedNax    schedule 24.02.2011    source источник
comment
Все, что вам нужно, это инверсия предыдущего ответа. Почему это сложно?   -  person Ira Baxter    schedule 07.04.2011
comment
Сделал наоборот, однако, получилось несколько забавных персонажей. С тех пор разрешили это, заставив клиента ОТОБРАЖАТЬ данные без их упаковки. Спасибо, что посмотрели это.   -  person RedNax    schedule 14.04.2011
comment
@RedNax, вы можете опубликовать свое решение в качестве ответа и принять его;) тогда люди могут проголосовать за него, если оно им поможет ... вы также можете включить пример того, как преобразовать comp-3 в отображаемый формат. У меня сегодня действительно была такая проблема :)   -  person Jeff B    schedule 28.09.2012


Ответы (1)


COMP-3 обычно является методом упакованных десятичных чисел только для IBM. В прошлом у меня были проблемы с преобразованием упакованного десятичного числа на IBM в другие форматы. Обычно мне приходилось дополнять размер места назначения на байт, чтобы размеры совпадали.

Я не знаю никаких программ или утилит преобразования COMP, которые могли бы помочь вам в этом.

person Bill Burgess    schedule 30.06.2011
comment
На многих других чипсетах и ​​архитектурах есть упакованные десятичные формы. На ум приходят Motorol 68k и WD65x. Даже линейка Intel x86 имеет поддержку. - person Joe Zitzelberger; 21.02.2012
comment
Вопрос был не в этом. Он просит инструмент преобразования, чтобы сделать это за него. И COMP-3 - это версия упакованного десятичного числа только для компилятора IBM. Вы не найдете COMP-3 больше нигде. Это не означает, что упакованного десятичного числа не существует, просто не COMP-3. - person Bill Burgess; 22.02.2012
comment
COMP-3 - это просто написание. PACKED-DECIMAL — одинаково приемлемое написание в IBM Enterprise COBOL. Вы, возможно, дополняли в прошлом, но не можете понять, почему. Данные IBM из программы COBOL могут (но не очень вероятно) дать некоторые дополнительные возможности знаков. Использование этих возможностей в обратном направлении может привести к кое-чему. - person Bill Woodger; 17.12.2013