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.
  • 相关阅读:
    操作系统知识点_用户编程接口
    操作系统知识点_内存管理
    操作系统知识点_进程管理
    LintCode 二叉树的后序遍历
    LintCode 二叉树的最大深度
    LintCode 二叉树的中序遍历
    LintCode 二叉树的前序遍历
    LintCode 删除排序链表中的重复元素
    Lintcode 二分查找
    lintcode 空格替换
  • 原文地址:https://www.cnblogs.com/tangToms/p/14691190.html
Copyright © 2011-2022 走看看