编辑个人资料
的跟帖
  • 银河舰队
    1

    方法二

    FUNCTION ZLJH0829.
     *"----------------------------------------------------------------------
     *"*"本地接口:
     *"  IMPORTING
     *"     REFERENCE(Z_IP) TYPE  STRING
     *"  EXPORTING
     *"     REFERENCE(Z_ZH) TYPE  STRING
     *"----------------------------------------------------------------------
      DATA DZ TYPE STRING.
     * DATA K TYPE N VALUE '2'.
      DATA L TYPE N VALUE '0'.
      DATA EJZ TYPE STRING.
      DATA EJZ1 TYPE STRING.
      DATA EJZ2 TYPE STRING.
      DATA EJZ3 TYPE STRING.
      DATA EJZ4 TYPE STRING.
      DATA M TYPE N VALUE '1'.
      DATA G_SP TYPE C VALUE '.'.
     
     
     
      DZ = Z_IP+0(3).
      WHILE DZ > 1.
      IF DZ MOD 2 = 0.
        DZ = DZ / 2.
     CONCATENATE L EJZ INTO EJZ.
     ELSE.
      DZ = DZ DIV 2.
      CONCATENATE  M EJZ INTO EJZ.
      ENDIF.
          ENDWHILE.
          CONCATENATE  M EJZ INTO EJZ.
          EJZ1 = EJZ.
     
           DZ = Z_IP+4(3).
           CLEAR EJZ.
      WHILE DZ > 1.
      IF DZ MOD 2 = 0.
        DZ = DZ / 2.
     CONCATENATE L EJZ INTO EJZ.
     ELSE.
      DZ = DZ DIV 2.
      CONCATENATE  M EJZ INTO EJZ.
      ENDIF.
          ENDWHILE.
          CONCATENATE  M EJZ INTO EJZ.
          EJZ2 = EJZ.
     
     DZ = Z_IP+8(1).
     CLEAR EJZ.
      WHILE DZ > 1.
      IF DZ MOD 2 = 0.
        DZ = DZ / 2.
     CONCATENATE L EJZ INTO EJZ.
     ELSE.
      DZ = DZ DIV 2.
      CONCATENATE  M EJZ INTO EJZ.
      ENDIF.
          ENDWHILE.
          CONCATENATE  M EJZ INTO EJZ.
            DATA T TYPE I.
         DATA U TYPE I.
          T = STRLEN( EJZ ).
          IF T < 8.
            U = 8 - T.
            DO U TIMES.
              CONCATENATE L EJZ INTO EJZ.
              ENDDO.
              ELSE.
                EXIT.
                ENDIF.
          EJZ3 = EJZ.
     
           DZ = Z_IP+10(2).
           CLEAR EJZ.
      WHILE DZ > 1.
      IF DZ MOD 2 = 0.
        DZ = DZ / 2.
     CONCATENATE L EJZ INTO EJZ.
     ELSE.
      DZ = DZ DIV 2.
      CONCATENATE  M EJZ INTO EJZ.
      ENDIF.
          ENDWHILE.
          CONCATENATE  M EJZ INTO EJZ.
          T = STRLEN( EJZ ).
          IF T < 8.
            U = 8 - T.
            DO U TIMES.
              CONCATENATE L EJZ INTO EJZ.
              ENDDO.
              ELSE.
                EXIT.
                ENDIF.
          EJZ4 = EJZ.
          CONCATENATE EJZ1 EJZ2 EJZ3 EJZ4 INTO Z_ZH SEPARATED BY G_SP.
     ENDFUNCTION.