zoukankan      html  css  js  c++  java
  • ABAP:金额转换成英文描述

    FUNCTION ysd_cov_num_to_en.
    *"----------------------------------------------------------------------
    *"*"Local interface:
    *"  IMPORTING
    *"     REFERENCE(FROM_NUM) TYPE  DMBTR
    *"  EXPORTING
    *"     REFERENCE(TO_STR) TYPE  STRING
    *"----------------------------------------------------------------------

      DATA num(16) TYPE DECIMALS .
      DATA pnum(2) TYPE i.

      DATA temp1 TYPE .
      DATA temp2 TYPE .
      DATA temp3 TYPE .
      DATA temp4 TYPE .

      DATA tempq TYPE .
      DATA tempw TYPE .
      DATA tempe TYPE .
      DATA tempr TYPE .

      DATA temp(16) TYPE i.
      DATA tempii TYPE .

      DATA ls_return TYPE string.
      DATA ls_str TYPE string.
      DATA moff TYPE VALUE 0.
    ****
      temp = from_num.


      ls_str = from_num.
      FIND '.' IN ls_str MATCH OFFSET moff.

      IF moff > 0.
        num = ls_str+0(moff).
        moff = moff + 1.
        ls_str = ls_str+moff(2).
        pnum = ls_str.
      ELSE.
        num = temp.
        pnum = 0.
      ENDIF.

      IF from_num < 0.
        ls_return = 'Negative'.
      ELSE.
        ls_return = ''.
      ENDIF.

      num = ABS( num ).

    ****
    *************************************************
      temp = num .

      temp1 = temp DIV 1000000000 .
      temp = temp MOD 1000000000 .

      temp2 = temp DIV 1000000 .
      temp = temp MOD 1000000 .

      temp3 = temp DIV 1000 .
      temp = temp MOD 1000 .

      temp4 = temp .
    ********************************************************
      IF temp1 <> .
        tempii = temp1 .

        tempw = tempii DIV 100 .
        tempii = tempii MOD 100 .

        tempe = tempii DIV 10 .
        tempii = tempii MOD 10 .

        tempr = tempii .
    *********************
        IF tempw <> .
          tempii = tempw .
          CASE tempii.
            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.
          CONCATENATE ls_return 'Hundred' INTO ls_return SEPARATED BY ' '.    "WRITE 'Hundred' .
        ENDIF .
    *********************

        tempii = tempe .
        CASE tempii.
          WHEN .
            tempii = temp1 MOD 100.

            CASE tempii.
              WHEN 11 .
                CONCATENATE ls_return 'Eleven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eleven' .
              WHEN 12 .
                CONCATENATE ls_return 'Twelve' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twelve' .
              WHEN 13 .
                CONCATENATE ls_return 'Thirteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirteen' .
              WHEN 14 .
                CONCATENATE ls_return 'Fourteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourteen' .
              WHEN 15 .
                CONCATENATE ls_return 'Fifteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifteen' .
              WHEN 16 .
                CONCATENATE ls_return 'Sixteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixteen' .
              WHEN 17 .
                CONCATENATE ls_return 'Seventeen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventeen' .
              WHEN 18 .
                CONCATENATE ls_return 'Eighteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighteen' .
              WHEN 19 .
                CONCATENATE ls_return 'Nineteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nineteen' .
            ENDCASE.
            tempr = 0.  "leotian
          WHEN .

            IF tempr <> .
              IF ls_return <> ''.
                CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
              ENDIF.
              tempii = tempr.
              CASE tempii.

                WHEN .
                  CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
                WHEN .
                  CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
                WHEN .
                  CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
                WHEN .
                  CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
                WHEN .
                  CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
                WHEN .
                  CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
                WHEN .
                  CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
                WHEN .
                  CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
                WHEN .
                  CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
              ENDCASE.

            ENDIF .
            tempe = 0.  "leotian
          WHEN .
            CONCATENATE ls_return 'Twenty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twenty' .
          WHEN .
            CONCATENATE ls_return 'Thirty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirty' .
          WHEN .
            CONCATENATE ls_return 'Fourty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourty' .
          WHEN .
            CONCATENATE ls_return 'Fifty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifty' .
          WHEN .
            CONCATENATE ls_return 'Sixty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixty' .
          WHEN .
            CONCATENATE ls_return 'Seventy' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventy' .
          WHEN .
            CONCATENATE ls_return 'Eighty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighty' .
          WHEN .
            CONCATENATE ls_return 'Ninty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Ninty' .
        ENDCASE.

    ***********************
        IF tempr <> And tempe <> 0.
          tempii = tempr .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.

        ENDIF .

    ***********************

        CONCATENATE ls_return 'Billion' INTO ls_return SEPARATED BY ' '.    "WRITE 'billion' .
        "CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE / .
      ENDIF .

    ***************************************************************
      IF temp2 <> .
    *    IF ls_return <> ''.
    *      CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
    *    ENDIF.
        tempii = temp2 .

        tempw = tempii DIV 100 .
        tempii = tempii MOD 100 .

        tempe = tempii DIV 10 .
        tempii = tempii MOD 10 .

        tempr = tempii .
    *********************
        IF tempw <> .
          tempii = tempw .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.
          CONCATENATE ls_return 'Hundred' INTO ls_return SEPARATED BY ' '.    "WRITE 'Hundred' .
        ENDIF .
    *********************

        tempii = tempe .
        CASE tempii.
          WHEN .
            tempii = temp2 MOD 100 .

            CASE tempii.

              WHEN 11 .
                CONCATENATE ls_return 'Eleven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eleven' .
              WHEN 12 .
                CONCATENATE ls_return 'Twelve' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twelve' .
              WHEN 13 .
                CONCATENATE ls_return 'Thirteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirteen' .
              WHEN 14 .
                CONCATENATE ls_return 'Fourteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourteen' .
              WHEN 15 .
                CONCATENATE ls_return 'Fifteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifteen' .
              WHEN 16 .
                CONCATENATE ls_return 'Sixteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixteen' .
              WHEN 17 .
                CONCATENATE ls_return 'Seventeen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventeen' .
              WHEN 18 .
                CONCATENATE ls_return 'Eighteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighteen' .
              WHEN 19 .
                CONCATENATE ls_return 'Nineteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nineteen' .

            ENDCASE.
            tempr = 0.  "leotian
          WHEN .

            IF tempr <> .
              IF ls_return <> ''.
                CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
              ENDIF.
              tempii = tempr.
              CASE tempii.
                WHEN .
                  CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
                WHEN .
                  CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
                WHEN .
                  CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
                WHEN .
                  CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
                WHEN .
                  CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
                WHEN .
                  CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
                WHEN .
                  CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
                WHEN .
                  CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
                WHEN .
                  CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
              ENDCASE.

            ENDIF .
            tempe = 0.  "leotian
          WHEN .
            CONCATENATE ls_return 'Twenty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twenty' .
          WHEN .
            CONCATENATE ls_return 'Thirty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirty' .
          WHEN .
            CONCATENATE ls_return 'Fourty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourty' .
          WHEN .
            CONCATENATE ls_return 'Fifty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifty' .
          WHEN .
            CONCATENATE ls_return 'Sixty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixty' .
          WHEN .
            CONCATENATE ls_return 'Seventy' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventy' .
          WHEN .
            CONCATENATE ls_return 'Eighty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighty' .
          WHEN .
            CONCATENATE ls_return 'Ninty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Ninty' .
        ENDCASE.

    ***********************
        IF tempr <> And tempe <> 0.
          tempii = tempr .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.

        ENDIF .

    ***********************
        CONCATENATE ls_return 'Million' INTO ls_return SEPARATED BY ' '.    "WRITE 'million' .
        "CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE / .
      ENDIF .

    ***************************************************************
      IF temp3 <> .
    *    IF ls_return <> ''.
    *      CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
    *    ENDIF.
        tempii = temp3 .

        tempw = tempii DIV 100 .
        tempii = tempii MOD 100 .

        tempe = tempii DIV 10 .
        tempii = tempii MOD 10 .

        tempr = tempii .
    *********************
        IF tempw <> .
          tempii = tempw .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.
          CONCATENATE ls_return 'Hundred' INTO ls_return SEPARATED BY ' '.    "WRITE 'Hundred' .
        ENDIF .
    *********************

        tempii = tempe .
        CASE tempii.
          WHEN .
            tempii = temp3 MOD 100 .

            CASE tempii.

              WHEN 11 .
                CONCATENATE ls_return 'Eleven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eleven' .
              WHEN 12 .
                CONCATENATE ls_return 'Twelve' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twelve' .
              WHEN 13 .
                CONCATENATE ls_return 'Thirteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirteen' .
              WHEN 14 .
                CONCATENATE ls_return 'Fourteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourteen' .
              WHEN 15 .
                CONCATENATE ls_return 'Fifteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifteen' .
              WHEN 16 .
                CONCATENATE ls_return 'Sixteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixteen' .
              WHEN 17 .
                CONCATENATE ls_return 'Seventeen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventeen' .
              WHEN 18 .
                CONCATENATE ls_return 'Eighteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighteen' .
              WHEN 19 .
                CONCATENATE ls_return 'Nineteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nineteen' .

            ENDCASE.
            tempr = 0.  "leotian
          WHEN .

            IF tempr <> .
              IF ls_return <> ''.
                CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
              ENDIF.
              tempii = tempr.
              CASE tempii.

                WHEN .
                  CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
                WHEN .
                  CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
                WHEN .
                  CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
                WHEN .
                  CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
                WHEN .
                  CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
                WHEN .
                  CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
                WHEN .
                  CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
                WHEN .
                  CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
                WHEN .
                  CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
              ENDCASE.

            ENDIF .
            tempe = 0.  "leotian
          WHEN .
            CONCATENATE ls_return 'Twenty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twenty' .
          WHEN .
            CONCATENATE ls_return 'Thirty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirty' .
          WHEN .
            CONCATENATE ls_return 'Fourty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourty' .
          WHEN .
            CONCATENATE ls_return 'Fifty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifty' .
          WHEN .
            CONCATENATE ls_return 'Sixty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixty' .
          WHEN .
            CONCATENATE ls_return 'Seventy' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventy' .
          WHEN .
            CONCATENATE ls_return 'Eighty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighty' .
          WHEN .
            CONCATENATE ls_return 'Ninty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Ninty' .
        ENDCASE.

    ***********************
        IF tempr <> And tempe <> 0.
          tempii = tempr .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.

        ENDIF .

    ***********************
        CONCATENATE ls_return 'Thousand' INTO ls_return SEPARATED BY ' '.    "WRITE 'thousAnd' .

      ENDIF .

    ***************************************************************

      IF temp4 <> .
    *    IF ls_return <> ''.
    *      CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
    *    ENDIF.
        tempii = temp4 .

        tempw = tempii DIV 100 .
        tempii = tempii MOD 100 .

        tempe = tempii DIV 10 .
        tempii = tempii MOD 10 .

        tempr = tempii .
    *********************
        IF tempw <> .
          tempii = tempw .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.
          CONCATENATE ls_return 'Hundred' INTO ls_return SEPARATED BY ' '.    "WRITE 'Hundred' .
        ENDIF .
    *********************

        tempii = tempe .
        CASE tempii.
          WHEN .
            tempii = temp4 MOD 100.

            CASE tempii.

              WHEN 11 .
                CONCATENATE ls_return 'Eleven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eleven' .
              WHEN 12 .
                CONCATENATE ls_return 'Twelve' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twelve' .
              WHEN 13 .
                CONCATENATE ls_return 'Thirteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirteen' .
              WHEN 14 .
                CONCATENATE ls_return 'Fourteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourteen' .
              WHEN 15 .
                CONCATENATE ls_return 'Fifteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifteen' .
              WHEN 16 .
                CONCATENATE ls_return 'Sixteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixteen' .
              WHEN 17 .
                CONCATENATE ls_return 'Seventeen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventeen' .
              WHEN 18 .
                CONCATENATE ls_return 'Eighteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighteen' .
              WHEN 19 .
                CONCATENATE ls_return 'Nineteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nineteen' .

            ENDCASE.
            tempr = 0.  "leotian
          WHEN .

            IF tempr <> .
              IF ls_return <> ''.
                CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
              ENDIF.
              tempii = tempr.
              CASE tempii.

                WHEN .
                  CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
                WHEN .
                  CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
                WHEN .
                  CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
                WHEN .
                  CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
                WHEN .
                  CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
                WHEN .
                  CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
                WHEN .
                  CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
                WHEN .
                  CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
                WHEN .
                  CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
              ENDCASE.

            ENDIF .
            tempe = 0.  "leotian
          WHEN .
            CONCATENATE ls_return 'Twenty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twenty' .
          WHEN .
            CONCATENATE ls_return 'Thirty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirty' .
          WHEN .
            CONCATENATE ls_return 'Fourty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourty' .
          WHEN .
            CONCATENATE ls_return 'Fifty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifty' .
          WHEN .
            CONCATENATE ls_return 'Sixty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixty' .
          WHEN .
            CONCATENATE ls_return 'Seventy' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventy' .
          WHEN .
            CONCATENATE ls_return 'Eighty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighty' .
          WHEN .
            CONCATENATE ls_return 'Ninty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Ninty' .
        ENDCASE.

    ***********************
        IF tempr <> And tempe <> 0.
          tempii = tempr .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.

        ENDIF .

    ***********************

      ENDIF .

      IF ls_return <> ''.
        CONCATENATE ls_return 'Dollars' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
      ENDIF.
    ***********************
      "处理小数
      IF pnum > 0.
        tempii = pnum .

        tempw = tempii DIV 100 .
        tempii = tempii MOD 100 .

        tempe = tempii DIV 10 .
        tempii = tempii MOD 10 .

        tempr = tempii .
    *********************
        IF tempw <> .
          tempii = tempw .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.
          CONCATENATE ls_return 'Hundred' INTO ls_return SEPARATED BY ' '.    "WRITE 'Hundred' .
        ENDIF .
    *********************

        tempii = tempe .
        CASE tempii.
          WHEN .
            tempii = pnum MOD 100.
             CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
            CASE tempii.

              WHEN 11 .
                CONCATENATE ls_return 'Eleven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eleven' .
              WHEN 12 .
                CONCATENATE ls_return 'Twelve' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twelve' .
              WHEN 13 .
                CONCATENATE ls_return 'Thirteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirteen' .
              WHEN 14 .
                CONCATENATE ls_return 'Fourteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourteen' .
              WHEN 15 .
                CONCATENATE ls_return 'Fifteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifteen' .
              WHEN 16 .
                CONCATENATE ls_return 'Sixteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixteen' .
              WHEN 17 .
                CONCATENATE ls_return 'Seventeen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventeen' .
              WHEN 18 .
                CONCATENATE ls_return 'Eighteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighteen' .
              WHEN 19 .
                CONCATENATE ls_return 'Nineteen' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nineteen' .

            ENDCASE.
            tempr = 0.  "leotian
          WHEN .

            IF tempr <> .
              IF ls_return <> ''.
                CONCATENATE ls_return 'And' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
              ENDIF.
              tempii = tempr.
              CASE tempii.

                WHEN .
                  CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
                WHEN .
                  CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
                WHEN .
                  CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
                WHEN .
                  CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
                WHEN .
                  CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
                WHEN .
                  CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
                WHEN .
                  CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
                WHEN .
                  CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
                WHEN .
                  CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
              ENDCASE.

            ENDIF .
            tempe = 0.  "leotian
          WHEN .
            CONCATENATE ls_return 'Twenty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Twenty' .
          WHEN .
            CONCATENATE ls_return 'Thirty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Thirty' .
          WHEN .
            CONCATENATE ls_return 'Fourty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fourty' .
          WHEN .
            CONCATENATE ls_return 'Fifty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Fifty' .
          WHEN .
            CONCATENATE ls_return 'Sixty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Sixty' .
          WHEN .
            CONCATENATE ls_return 'Seventy' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seventy' .
          WHEN .
            CONCATENATE ls_return 'Eighty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eighty' .
          WHEN .
            CONCATENATE ls_return 'Ninty' INTO ls_return SEPARATED BY ' '.    "WRITE 'Ninty' .
        ENDCASE.

    ***********************
        IF tempr <> And tempe <> 0.
          tempii = tempr .
          CASE tempii.

            WHEN .
              CONCATENATE ls_return 'One' INTO ls_return SEPARATED BY ' '.    "WRITE 'One' .
            WHEN .
              CONCATENATE ls_return 'Two' INTO ls_return SEPARATED BY ' '.    "WRITE 'Two' .
            WHEN .
              CONCATENATE ls_return 'Three' INTO ls_return SEPARATED BY ' '.    "WRITE 'Three' .
            WHEN .
              CONCATENATE ls_return 'Four' INTO ls_return SEPARATED BY ' '.    "WRITE 'Four' .
            WHEN .
              CONCATENATE ls_return 'Five' INTO ls_return SEPARATED BY ' '.    "WRITE 'Five' .
            WHEN .
              CONCATENATE ls_return 'Six' INTO ls_return SEPARATED BY ' '.    "WRITE 'Six' .
            WHEN .
              CONCATENATE ls_return 'Seven' INTO ls_return SEPARATED BY ' '.    "WRITE 'Seven' .
            WHEN .
              CONCATENATE ls_return 'Eight' INTO ls_return SEPARATED BY ' '.    "WRITE 'Eight' .
            WHEN .
              CONCATENATE ls_return 'Nine' INTO ls_return SEPARATED BY ' '.    "WRITE 'Nine' .
          ENDCASE.

        ENDIF .
        IF ls_return <> ''.
          CONCATENATE ls_return 'Cents only' INTO ls_return SEPARATED BY ' '.    "WRITE 'And'.
        ENDIF.

      ENDIF.
    ***********************
      "返回结果
      to_str = ls_return.

    ENDFUNCTION.

  • 相关阅读:
    【3】jQuery学习——入门jQuery选择器之基本选择器
    对于转载引发的问题没见过这样强硬的论坛
    SQL2进制问题
    用SQL只获取日期的方法
    C#算法求2进制的问题
    ASP.NET Ajax In Action!读书笔记1
    Fckeditor配置
    MIME types list
    SQL case when then else end运用
    ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法
  • 原文地址:https://www.cnblogs.com/leotian/p/1810668.html
Copyright © 2011-2022 走看看