zoukankan      html  css  js  c++  java
  • SAP数值金额转大写函数

    FUNCTION ZFUN_CONVERT_NUMERIC_TO_CHINES.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"  IMPORTING
    *"     REFERENCE(IV_MONEY) TYPE  FAGLFLEXA-HSL
    *"  EXPORTING
    *"     REFERENCE(EV_MONEY) TYPE  C
    *"  EXCEPTIONS
    *"      WRONG_MONEY
    *"----------------------------------------------------------------------

      IF IV_MONEY 0.
        EV_MONEY ''.
        EXIT.
      ENDIF.
      DATA:MONEY_STR(33).
      MONEY_STR IV_MONEY.
      CONDENSE MONEY_STR NO-GAPS.
      IF MONEY_STR CN '0123456789. '.
        RAISE WRONG_MONEY.
      ENDIF.
      DATA:I TYPE I.
      IF MONEY_STR CS '.'.
        SY-FDPOS + 1.
        MONEY_STR+SY-FDPOS MONEY_STR+I.
      ENDIF.
      CONDENSE MONEY_STR NO-GAPS.
      DATA:UNITS_OFF TYPE I,
            CURNT_OFF TYPE I.
      DATA:LASTD TYPE N,CURNTD TYPE N.
      DATA:CWORD(2),WEIGHT(2).
      DATA:UNITS(30VALUE '分角元拾佰仟万拾佰仟亿拾佰仟万',
            DIGTS(20VALUE '零壹贰叁肆伍陆柒捌玖'.
    * clear:ev_money,units_off.
      LASTD 0.
      CURNT_OFF STRLENMONEY_STR 1.
      WHILE CURNT_OFF >= 0.
        CURNTD MONEY_STR+CURNT_OFF(1).
        CURNTD.
        CWORD DIGTS+I(1).
        WEIGHT UNITS+UNITS_OFF(1).
        UNITS_OFF / 1.
        IF CURNTD 0.             "Current digit is 0
          IF I OR I OR I 10.
            CLEAR:CWORD.
            IF CURNT_OFF 0.
              CLEAR:WEIGHT.
            ENDIF.
        ELSEIF LASTD 0.
            CLEAR:CWORD,WEIGHT.
          ELSE.
            CLEAR:WEIGHT.
          ENDIF.
        ENDIF.
        CONCATENATE CWORD WEIGHT EV_MONEY INTO EV_MONEY.
        LASTD CURNTD.
        SUBTRACT FROM CURNT_OFF.
        ADD TO UNITS_OFF.
      ENDWHILE.
      IF EV_MONEY NS ''.
        CONCATENATE EV_MONEY 'INTO EV_MONEY.
      ELSE.
        CWORD EV_MONEY.
        IF CWORD ''.
          SHIFT EV_MONEY BY PLACES.
        ENDIF.
      ENDIF.




    ENDFUNCTION.

  • 相关阅读:
    cocos2d-x 2.2 study ------------------------ 双击事件(转)
    cocos2d-x打包Android
    cocos2d-x在win7下的android交叉编译环境
    Cocos2d-x之CCImage深入分析
    Eclipse开发C/C++之使用技巧小结
    TortoiseSVN安装使用
    cocos2d-x 2.2 study ------------------------ CCCallFunC家族
    cocos2d-x改底层之动态改变UIListView中的某项在链表中的位置
    汇编语言,以10进制的方式显示数字
    JVM
  • 原文地址:https://www.cnblogs.com/coderfarmer/p/13401745.html
Copyright © 2011-2022 走看看