SAP ABAP 判断字符串是否能转成整数、小数、其他字符串

FUNCTION zhy_fm_check_dic.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(INPUT) TYPE  STRING
*"  EXPORTING
*"     VALUE(E_TYPE) TYPE  ZSTR_TYPE
*"  EXCEPTIONS
*"      NO_INPUT
*"----------------------------------------------------------------------

  DATA lv_str TYPE string.

  lv_str = input.

  IF lv_str IS INITIAL .
    RAISE no_input.
  ENDIF.

  CHECK NOT lv_str IS INITIAL .

  IF lv_str CA ' '.
    e_type = 'O'.
  ENDIF.

  CHECK NOT lv_str CA ' '.

  IF lv_str = '0'.
    e_type = 'I'.
  ENDIF.

  CHECK NOT lv_str = '0'.

  IF lv_str CO '0123456789'.
    "纯数字
    IF lv_str+0(1) = '0'.
      "零开头的纯数字
      e_type = 'O'.
    ELSE.
      "非0开头的纯数字字符串 = 整数
      e_type = 'I'.
    ENDIF.

  ELSE.

    IF lv_str CO '0123456789.'.

      IF lv_str+0(1) = '.'.
        ".开头的纯数字
        e_type = 'O'.
      ELSE.
        "小数
        e_type = 'D'.
      ENDIF.

    ELSE.
      e_type = 'O'.
    ENDIF.

  ENDIF.
ENDFUNCTION.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章