首页 > 解决方案 > 比较时右侧的空格无关紧要

问题描述


DEFINE VARIABLE a AS CHARACTER NO-UNDO.
DEFINE VARIABLE b AS CHARACTER NO-UNDO.
a = "123".
b = "123 ".

MESSAGE a = b
VIEW-AS ALERT-BOX.

MESSAGE LENGTH(a) = LENGTH(b)
VIEW-AS ALERT-BOX.

有谁知道,为什么第一个等号返回真?右侧是否忽略空格?因为左边的空格会导致等号为假。右侧有多少空格也无关紧要。

谢谢你们

标签: openedgeprogress-4gl

解决方案


https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvref/eq-or-=-operator.html

相等比较忽略尾随空格。因此,“abc”等于“abc”。但是,前导空格和嵌入空格被视为字符,并且“abc”不等于“abc”。


推荐阅读