【发布时间】:2012-10-06 04:26:23
【问题描述】:
我注意到 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
【问题讨论】:
标签: progress-4gl openedge