Rexx 以数字格式传递值

Rexx 以数字格式传递值,rexx,Rexx,我在传递带有格式问题的值时遇到问题。 我在代码中输入的描述,因为我在为if VALIDATEMONCHEQUE MM零件传递代码时遇到问题。如果长度(RawChequenumber)=15,则的输出将是1位数字,而不是00001(示例) MM=HostGetFLD(“”,'MM') YY=HostGetFLD(“”,'YY') PreEditedCheque=substr(RawChequenumber,11,5) ValidateMoncheque=substr(RawChequenumber

我在传递带有格式问题的值时遇到问题。 我在代码中输入的描述,因为我在为
if VALIDATEMONCHEQUE MM
零件传递代码时遇到问题。如果长度(RawChequenumber)=15,则
的输出将是1位数字,而不是00001(示例)

MM=HostGetFLD(“”,'MM')
YY=HostGetFLD(“”,'YY')
PreEditedCheque=substr(RawChequenumber,11,5)
ValidateMoncheque=substr(RawChequenumber,7,2)
如果验证了MM,则*来自此语句*
做
PreEditedCheque=substr('00000',1,5)*如果传递到下一个语句,则无法正确显示这些0*
编辑支票='00'| | | | | | | | | | | | | | | | | | | 0'| | YY | | | | |
rc=消息(2,2,编辑支票)
终点
如果长度(RawChequenumber)=15,则
编辑支票='00'| | | | | | | | | | | | | | | 2'| | | | | | | | | | | | | | | | | | 00'124。
rc=PanSetCtlData(“预览”,编辑支票)

您要求的是在5个字符的字段中,将支票号码用零填充到左边。这是你的朋友:

Right(PreEditedCheque, 5, '0') /* "1" -> "00001" */

输入是什么,您得到了什么输出,您期望在哪里得到什么???我期望输出是00001(5位),而不是1(只有一位),输入实际上是从rawchequenumber变量传递的。问题是第二条语句中的
+
,它将其转换为数字表达式,Ross建议使用正确的函数应该行得通没错Bruce
Right(PreEditedCheque, 5, '0') /* "1" -> "00001" */