Cobol 如何验证作为字母数字文本传入的负值?

Cobol 如何验证作为字母数字文本传入的负值?,cobol,gnucobol,Cobol,Gnucobol,基本上,我得到了一个输入文件,该文件通过字母数字和数字混合字段传递。我的目标是测试每个字段的有效数据。第一个字段是一个字母数字字段,带有Pic X(3)说明,应表示一个数字。但是,因为我正在测试数据的有效性,所以在某些情况下,该值可能包含一个字母,例如0R1或负值-001 在测试数据时,使用“Is Numeric”测试非常适合查找非数值的值。但是,当有一个负号传入时,它将无法通过测试。我假设发生这种情况是因为它认识到破折号或负号(-)不是数字字符。我的总体目标是测试数字是否为数字和正值,但鉴于上

基本上,我得到了一个输入文件,该文件通过字母数字和数字混合字段传递。我的目标是测试每个字段的有效数据。第一个字段是一个字母数字字段,带有Pic X(3)说明,应表示一个数字。但是,因为我正在测试数据的有效性,所以在某些情况下,该值可能包含一个字母,例如0R1或负值-001

在测试数据时,使用“Is Numeric”测试非常适合查找非数值的值。但是,当有一个负号传入时,它将无法通过测试。我假设发生这种情况是因为它认识到破折号或负号(-)不是数字字符。我的总体目标是测试数字是否为数字和正值,但鉴于上述情况,我很难实现正确的测试

有没有关于如何克服这一问题的建议

谢谢

如果您需要仔细检查任何定义为字母数字/字母的内容,我建议您使用;如果通过,则可以使用
函数NUMVAL(一些数据)
获取实际值

有关更多详细信息,请查看。

您是否找到了“适合您”的答案?如果是,请接受(目前为“开放”),否则我建议对答案进行评论。