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,錯誤提示如下:

     

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

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

     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.                     "將指針變量賦值到字符變量


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM