有同事問這個問題:lv_s是從int4轉過來的,長度為2,和硬編碼的lv_s2(長度為1)相比,後面多了個空格。
為什麼?查SAP ABAP的程式設計幫助F1 help。
幫助文件說的很清楚了:如果賦值操作的目的欄位(Target欄位),即賦值號的左邊運算元的型別為string,如果賦值之前的整數是負數,則在賦值後的字串變數尾部增添一個"-"負號,否則增添一個空白符(blank)。
同樣,在這個help的附近,解釋了為什麼把line 4的型別從string改成sstring之後,長度一下就變成20的原因:
類似這種ABAP賦值操作的隱式型別轉換和顯式型別轉換在實際程式設計開發工作中也要注意。
要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼: