如何解决如何在部分自由格式 RPG 中将变量/字段值转换为 IBM 有符号数字值
我正在尝试将变量值从分区十进制格式转换为字符,但这样做时,我需要根据 IBM 标准将它们转换的代码,在旧的 RPG 代码中,大多数开发人员使用操作码 MOVEL 和 MLLZO,但有什么替代品部分自由格式RPG的命令。
*For example,the result of below code will be var2 = 1234N
D var1 s 10s 2 inz(-123.45)
D var2 s 10
/Free
C MOVEL var1 var2
dsply var2;
*Inlr = *on;
/End-free
解决方法
当MOVEL将一个数值移动到一个字符域时,字符域基本上是得到该数值的分区十进制值。
带有 X 编辑代码的 %EDITC 执行此操作。
var2 = %editc (var1: 'X');
但是对于您想要将数值(例如 -123.45)转换为字符(例如“1234N”)的每种情况,最好仔细考虑您的代码为何需要这种值。也许您需要查看 MOVEL 的结果是如何使用的。您可能不只是将 MOVEL 转换为自由格式,而是希望将多个语句组合成一个过程,以实现包含 MOVEL 语句的代码的整个业务目标。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。