Ab Initio - Форматирование числа в левом выравнивании - PullRequest
1 голос
/ 26 апреля 2010

У меня есть требование в Ab Initio для форматирования числа по левому краю. Я не должен использовать преобразование строк (поскольку строки по умолчанию выровнены по левому краю), так как это может вызвать проблемы совместимости на другом конце.

Например, если мое поле имеет длину 7 байтов, и я получаю только две цифры в качестве входных данных, то эти две цифры должны идти в первые два байта моего поля (выровненные по левому краю) вместо последних двух байт.

Итак, есть ли встроенная функция в Ab Initio, которая может отформатировать число как выровненное по левому краю?

1 Ответ

3 голосов
/ 28 июля 2010

Вы можете преобразовать его в строку и позволить ему ездить. Ab Initio автоматически преобразует между строковыми и десятичными. Кроме того, физическое представление будет одинаковым для этих двух типов.

Если вы пытаетесь использовать формат, не основанный на ascii (int, float и т. Д.), Я не думаю, что для этого есть встроенная функция, и вам, вероятно, придется сделать что-то грубое, например приведение к тип void, затем тип строки, используя hex_to_string (), чтобы сохранить точные биты, а затем правую часть с пробелами.

...