我注意到 Progress 4gl 中的 IF 语句有一个非常奇怪的行为。
我定义了一个格式为“999”的整数,它告诉它有 3 位数字,然后我分配一个小于 100 的值(例如 12),然后当我显示它时,它应该显示为“012”。
但是当我在 DISPLAY 语句中添加一个实际上不应该做任何事情的 IF 语句时,变量显示为“12”。
这是清除差异的测试代码。LABEL 不影响变量的输出。
DEF VAR tmp AS INTEGER FORMAT "999".
ASSIGN tmp = 12.
DISPLAY
tmp LABEL "disp1".
DISPLAY
IF TRUE THEN tmp ELSE tmp LABEL "disp2".
通过将格式更改为“>99”也可以实现相同的行为。
我的问题是:为什么 IF 语句会改变变量的显示方式?
最好的问候 //MrBucket