Loading

ABAP语法基础篇(4)——数值运算

四、数值运算

要处理数值数据对象并将结果值赋给数据对象,可以用 COMPUTE 语句或赋值运算符 =
COMPUTE 语句语法如下所示:

COMPUTE <n> = <expression>.

关键字 COMPUTE 可选。

4.1 基本算术运算

ABAP/4支持四种基本算术运算,同时还支持乘方计算。可以用数学表达式指定以下算术运算符:

符号 描述
+ 加法
- 减法
* 乘法
/ 除法
DIV 整除
MOD 求余
** 求幂

可以用关键字 ADDSUBTRACTMULTIPLYDIVIDE 进行基本算术运算,而不使用数学表达式中的运算符。

4.2 字符串的算术运算

类似于用 MOVE-CORRESPONDING 语句在字段串之间复制值,可以用以下关键字,执行字段串的算术运算:

ADD-CORRESPONDING

SUBTRACT-CORRESPONDING

MULTIPLY-CORRESPONDING

DIVIDE-CORRESPONDING

对于所有同名字段串组件, ABAP/4进行相应算术运算。然而,仅当所有相关组件都是数值型数据类型时,该运算才有意义。

4.2.1 添加字段顺序

除基本算术运算中所述的基本加法之外, ADD 语句有几个变体,用于添加字段顺序。
例如, 添加字段顺序并将结果赋给另一个字段 :

ADD <n1> THEN <n2> UNTIL <nz> GIVING <m>.

如果 <n1> 、 <n2> 、 ... 、 <nz> 是在内存中相同类型和长度的等距字段序列,则进行求和计算并将结果赋给 <m>

添加字段顺序并将结果添加到另 一个字段 内容中 :

ADD <n1> THEN <n2> UNTIL <nz> TO <m>.

该语句除了将字段总和添加到 <m> 的旧内容中之外,与上面语句的工作方式相同。

4.3 数学函数

以下内部函数使用所有三种数值数据类型( F 、 I 和 P )作为参数。

函数 结果
ABS 参数的绝对值
SIGN 参数符号: 1 X > 0 SIGN( X ) = 0 if X = 0 -1 X < 0
CEIL 不小于参数的最小整数值
FLOOR 不大于参数的最大整数值
TRUNC 参数的整数部 分
FRAC 参数的分数部 分

4.4 浮点函数

以下内部函数用浮点数据类型( F )作为参数。

函数 解释
ACOS 、 ASIN 、 ATAN ; COS 、 SIN 、 TAN 三角函数
COSH 、 SINH 、 TANH 反三角函数
EXP 基数为 e 的求幂函数( e=2.7182818285 )
LOG 基数为 e 的自然对数
LOG10 基数为 10 的对数
SQRT 平方根

对于所有函数,正常数学约束适用。否则,会产生运行错误。

posted @ 2021-12-06 16:32  Gjboy666  阅读(872)  评论(0编辑  收藏  举报