zoukankan      html  css  js  c++  java
  • ABAP Help Document(16):9.1数字类型数据运算

    9.Processing Internal Data

    9.1Numerical Calculations

              类CL_ABAP_MATH,浮点数;CL_ABAP_RANDOM,获取随机数;

    示例:

    "算术运算statements
    "[COMPUTE] [EXACT] result = arith_exp | string_exp | bit_exp.
    "[COMPUTE] [EXACT] 同时,可省略
    "arith_exp
    *  [+|-] operand1
    *  [{+|-|*|/|DIV|MOD|**} [+|-] operand2
    *  [{+|-|*|/|DIV|MOD|**} [+|-] operand3
    "string_exp
    *{|string_template|}|{operand1 && operand2 [&&operand3]}
    "bit_exp
    *[BIT-NOT] operand1
    *[{BIT-AND|BIT-OR|BIT-XOR} [BIT-NOT] operand2
    *[{BIT-AND|BIT-OR|BIT-XOR} [BIT-NOT] operand3
    FORM f_numerical_cal.
      DATA:lv_num TYPE decfloat34.
      DATA:lv_char TYPE C LENGTH 10.
      DATA:lo_exec TYPE REF TO cx_sy_conversion_rounding.
      TRY.
        DO 10 TIMES.
          "判断是否有conversion rounding
          COMPUTE EXACT lv_num = 3 / sy-index.
          WRITE:/ lv_num COLOR COL_POSITIVE INTENSIFIED OFF.
        ENDDO.
      CATCH cx_sy_conversion_rounding INTO lo_exec.
          WRITE:/ lv_num COLOR COL_NEGATIVE INTENSIFIED OFF.
      ENDTRY.
    
      "ADD operand TO result.
      ADD lv_num TO lv_char.
      WRITE:/ lv_char.
      "SUBTRACT dobj1 FROM dobj2.
      "相当于dobj2 = dobj2 - dobj1.
      SUBTRACT lv_num FROM lv_char.
      WRITE:/ lv_char.
      "MULTIPLY dobj1 BY dobj2.
      "dobj1 = dobj1 * dobj2
      MULTIPLY lv_num BY lv_num.
      WRITE:/ lv_num.
      "DIVIDE dobj1 BY dobj2.
      "dobj1 = dobj1 / dobj2
      DIVIDE lv_num BY lv_num.
      WRITE:/ lv_num.
    ENDFORM.
  • 相关阅读:
    l2tp ubuntu
    my emacs fav config
    2048小游戏源码(vue自定义指令使用)
    Vue 脚手架新建项目
    vue中修改router定义的name值
    只能输入金额格式的input
    前端开发中UI问题处理
    form表单提交Ajax请求后不跳转
    小程序中代替v-html用法
    小程序中分页加载问题
  • 原文地址:https://www.cnblogs.com/tangToms/p/14691190.html
Copyright © 2011-2022 走看看