有同事问这个问题:lv_s是从int4转过来的,长度为2,和硬编码的lv_s2(长度为1)相比,后面多了个空格。

为什么?查SAP ABAP的编程帮助F1 help。

帮助文档说的很清楚了:如果赋值操作的目的字段(Target字段),即赋值号的左边操作数的类型为string,如果赋值之前的整数是负数,则在赋值后的字符串变量尾部增添一个"-"负号,否则增添一个空白符(blank)。

同样,在这个help的附近,解释了为什么把line 4的类型从string改成sstring之后,长度一下就变成20的原因:

类似这种ABAP赋值操作的隐式类型转换和显式类型转换在实际编程开发工作中也要注意。

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


注销
1k 声望1.6k 粉丝

invalid