四、数值运算
要处理数值数据对象并将结果值赋给数据对象,可以用 COMPUTE 语句或赋值运算符 =。
COMPUTE 语句语法如下所示:
COMPUTE
关键字 COMPUTE 可选。
4.1 基本算术运算
ABAP/4支持四种基本算术运算,同时还支持乘方计算。可以用数学表达式指定以下算术运算符:
符号
描述
+
加法
-
减法
*
乘法
/
除法
DIV
整除
MOD
求余
**
求幂
可以用关键字 ADD 、 SUBTRACT 、 MULTIPLY 和 DIVIDE 进行基本算术运算,而不使用数学表达式中的运算符。
4.2 字符串的算术运算
类似于用 MOVE-CORRESPONDING 语句在字段串之间复制值,可以用以下关键字,执行字段串的算术运算:
ADD-CORRESPONDING
SUBTRACT-CORRESPONDING
MULTIPLY-CORRESPONDING
DIVIDE-CORRESPONDING
对于所有同名字段串组件, ABAP/4进行相应算术运算。然而,仅当所有相关组件都是数值型数据类型时,该运算才有意义。
4.2.1 添加字段顺序
除基本算术运算中所述的基本加法之外, ADD 语句有几个变体,用于添加字段顺序。
例如, 添加字段顺序并将结果赋给另一个字段 :
ADD
如果
添加字段顺序并将结果添加到另 一个字段 内容中 :
ADD
该语句除了将字段总和添加到
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
平方根
对于所有函数,正常数学约束适用。否则,会产生运行错误。