天天看點

ABAP開發基礎知識:7)資料類型的轉換

      在其它程式設計語言中,資料之間的轉換是非常普遍的。當然,在ABAP程式設計中也同樣涉及到資料之間的互相轉換,在不同的資料對象之間指派,系統會自動進行類型轉換,轉換過程遵照固定規則進行,例如将一個C類型資料指派也N類型對象,隻有數字字元被傳遞,其它字元則被忽略。

      FOR EXAMPLE:

      DATA:ttext(10) TYPE C VALUE 'ABC1234567',

      tnum(10) TYPE N,

      tint TYPE I.

      tnum = ttext.

      tint = tnum.

      WRITE: / 'tnum=',tnum,

                  / 'tint=',tint.

      *輸出:  tnum=0001234567

                  tint=1,234,567

      變量ttext指派給tnum時,ABC被轉換為000,當tnum指派給tint時,預設取其整數部分。需要注意的是,C類型不能直接指派給I,如果上例語句中寫與tint=ttext,系統将報錯提示資料類型轉換錯誤。

      ABAP中還可以使用以下文法實作資料間指派:

      MOVE A TO B.

      WRITE A TO B.

      如B的資料類型應為C、N、D或者T,錯誤提示如下:

ABAP開發基礎知識:7)資料類型的轉換

像上圖所示,在類型轉換過程中還有一定的限制,還得在實踐中不斷揣摩。

     不同進制之間的轉換可以參考如下方法:

     DATA:chr TYPE C.

   FIELD-SYMBOLS:<FS> TYPE X,   "定義一個十六進制的指針類型

                          <FC> TYPE C.

     chr = 'A'.

   ASSIGN chr TO <FS> CASTING.  "将字元轉換為十六進制

    <FS> = <FS> + 1.

    ASSIGN <FS> TO <FC> CASTING. "将十六進制的指針對象轉換為字元指針對象

    MOVE <FC> TO chr.                     "将指針變量指派到字元變量

繼續閱讀