ABAP 支持三种数字数据类型,它们是:
类型 I 的整型(整数);
类型 P 的压缩号;
类型 F 的浮点数;
1、类型 I 的数据
类型 I 数据的数值范围是 -2**31 到 2**31-1 并且仅包括整数。
对算术运算的非整型结 果(如分数 )进行四舍五入,而不是截断。
类型 I 数据可用于计数器、项目号、索引和时间期段等。
2、类型 P 数据
类型 P 数据允许在小数点后有数字。
类型 P 数据的数值范围取决于大小和小数点后的位数 。有效大小可以是从 1 到 16 字节的任何值。将两个十进制数字压缩到一个字节,而最后一个字节包含一个数字和符号。在小数点后最多允许 14 个数字。 关于定义小数点后位数的详细信息,参见 DATA 语句的基本格式。
使用类型 P 数据时,最好将程序属性设置为“ 定点算法” (参见 指定程序属性)。否则, 将类型 P 数字作为整型对待。
类型 P 数据可用于如距离、重量和钱数等 数值。
3、类型 F 数据类型
对于正数和负数,类型 F 数的数值范围是 1x10**-307 到 1x10**308, 包括 0(零)。
精确范围近似为 15 位十进制数,这取决于硬件平台的浮点算法。
由于是在内部将类型 F 数据转换为二进制系统,因此可能出现舍入误差。尽管 ABAP/4 处理器试图将这些影响减至最小,但是如果要求高精度,则不应该使用类型 F 数据。而应代之以类型 P 数据。
如果需要大的数值范围 ,而且舍入误差不重要 ,则可以使用类型 F 数据。
================================================================
注意:因为对类型 I 和 F 字段的算术运算与机器码语句关系更紧密,所以用类型 I 和类型 F 字段的计算比用类型 P 字段的计算要快;同时对 P 字段的运算要求更多的软件支持。尽管如此,可能仍必须使用类型 P 数据以满足精度或数值范围的要求 。