空格字符的INTEGER()

时间:2014-04-10 05:56:22

标签: progress-4gl

有没有人知道为什么 INTEGER(“”)在进度4GL中为零? 即使将空字符串传递给INTEGER()函数,结果也是一样的。围绕这个理论可能是什么?请帮忙

我已经阅读了文档,但找不到任何相关内容。

3 个答案:

答案 0 :(得分:2)

INTEGER()函数可能会修改输入数据。

这个简单的例子显示了修剪的迹象:

DISPLAY INTEGER("1") = INTEGER("   1   ").

显示是

1周围的空间实际上并没有影响上述转换的结果,这让我觉得INTEGER会修剪。结果相同:

DISPLAY INTEGER(" ") = INTEGER("").

我不知道为什么INTEGER(“”)会返回0而不是?例如INTEGER(“你好”)。我想这只是一个定义问题。

答案 1 :(得分:1)

“为什么”是一个宗教问题...

我相信4GL可能正在处理一个空字符串,就像空整数填充一样。 (请记住,“”等于4gl中的“”。)

试试这个:

define variable i as integer no-undo.

i = 2.

update i.

键入空格键。请注意该值如何变为零?

答案 2 :(得分:0)

""是字符的默认值。如果你定义一个char变量并且没有指定INIT值,它将是""。 0是整数的默认值。所以INTEGER("")非常类似于具有默认初始值的整数,即0。