ABAP基础篇2 数据类型

基本数据类型列表:

  • 1.长度可变的内置类型(String、XString)
    1)string类型 
    在ABAP程序中,string类型是长度无限的字符型字段,可以和CHAR ,D,T ,I,N (F和P未测试)  直接转换,
    但是有些字符串的操作语句可以使用CHAR 类型,不允许使用string 类型,比如:SHIFT
    在系统内部,长度可变的内置类型(String、XString)是通过引用实际动态的数据对象的固定内存地址来进行操作,因而这两种内置类型和引用类型一样,属于纵深类型。

    2).xstring类型
    由十六进制字符 0-9, A-F组成字符串。直接打印输出时,输出的还是赋值时字面意义上的值,而不是Unicode解码后的字符串
    注:如果值是字母,则一定要大写,否则赋值不进

    DATA : xs TYPE xstring .
    xs = ‘303132‘."表示字符串 012
    WRITE :/ xs.

    但输出的还是303132

  • 2.X类型

    十六进制字符 0-9, A-F具体的范围为:00~FF

    类型X是十六进制类型,可表示内存字节实际内容,使用两个十六制字符表示一个字节中所存储的内容。但直接打印输出时,输出的还是赋值时字面意义上的值,而不是Unicode解码后的字符

    如果未在 DATA 语句中指定参数<length>,则创建长度为 1

    注:如果值是字母,则一定要大写,否则赋值不进

    DATA: x2(2) TYPE x.
    x2 = ‘3AA‘.
    WRITE : / x2.

    输出赋值时字面上的值:3AA0

   补充说明:

16(十进制) = 10(十六进制)
十六进制(Hexadecimal)是计算机中数据常用的表示方法。一个十六进制数由0~9,A~F组成(不区分大小写)。
与十进制的对应关系为:0~9对应十进制的0~9;A~F对应十进制的10~15。十六进制“逢十六进一”
  • 3. P类型(压缩型)数据

    是一种压缩的定点数,其数据对象占据内存字节数和数值范围取定义时指定的整个数据大小和小数点后位数,如果不指定小数位,则将视为I类型。其有效数字位大小可以是从1~31位数字(小数点与正负号占用一个位置,半个字节),小数点后最多允许14个数字。

    P类型的数据,可用于精确运算(这里的精确指的是存储中所存储的数据与定义时字面上所看到的大小相同,而不存在精度丢失问题——看到的就是内存中实实在在的大小)。
    在使用P类型时,要先选择程序属性中的选项 Fixed point arithmetic(即定点算法,一般默认选中),否则系统将P类型看用整型。其效率低于I或F类型。

    "16 * 2 = 32表示了整个字面意义上允许的最大字面个数,而14表示的是字面上小数点后面允许的最大小数位,而不是指14个字节,只有这里定义时的16才表示16个字节

    DATA: p(16) TYPE p DECIMALS 14 VALUE ‘12345678901234567.89012345678901‘.

    "正负符号与小数点固定要占用半个字节,一个字面上位置,并包括在这16个字节里面。
    "16 * 2 = 32位包括了小数点与在正负号在内
    "在定义时字面上允许最长可以达到32位,除去小数点与符号需占半个字节以后
    "有效数字位可允许31位,这31位中包括了整数位与小数位,再除去定义时小
    "数位为14位外,整数位最多还可达到17位,所以下面最多只能是17个9
    DATA: p1(16) TYPE p DECIMALS 14 VALUE ‘-99999999999999999‘.

    "P类型是以字符串来表示一个数的,与字符串不一样的是,P类型中的每个数字位只会占用4Bit位,所以两个数字位才会占用一个字节。另外,如果定义时没有指定小数位,表示是整型,但小数点固定要占用半个字节,所以不带小数位与符号的最大与最小整数如下(最多允许31个9,而不是32个)
    DATA: p1(16) TYPE p  VALUE ‘+9999999999999999999999999999999‘.
    DATA: p2(16) TYPE p  VALUE ‘-9999999999999999999999999999999‘.

    其实P类型是以字符串形式来表示一个小数,这样才可以作到精确,就像Java中要表示一个精确的小数要使用BigDecimal一样,否则会丢失精度。

 

原文地址:https://www.cnblogs.com/rainysblog/p/12079368.html

时间: 2024-11-05 18:50:56

ABAP基础篇2 数据类型的相关文章

Java基础篇—基本数据类型

八种数据类型 数值型: 整数型:byte.shot.int.long byte:长度为28(-27~27-1) shot:长度为216(-215~215-1) int:长度为232(-231~231-1) long:长度为264(-263~263-1) 浮点型:float.double float:长度为232(初始化需要在小数后面加f,例:float num=3.14f) double:长度为264(初始化两种形式均可,例1:double num=3.1415926d:例2:double nu

delphi基础篇之数据类型概论

Object Pascal 语言提供了非常丰富的数据类型,即简单类型(Simple).字符串类型(String).结构类型(Struct).指针类型(Pointer).函数和过程类型(Procedural)和变体类型(Variant)等. 原文地址:https://www.cnblogs.com/bjxsky/p/9780828.html

ABAP基础篇1 内表

内表类型 abap 内表类型有三种: 标准表(一般ABAP程序中用的最多就是这种表) 系统为该表的每一行数据生成一个逻辑索引,自己内部维护着行号(Index)的编码.表的键值不唯一,且没有按照表键自动进行排序,支持通过索引访问和键访问两种方式.填充标准表时可以插入到指定位置或现在有行之后,程序对内表的寻址操作可以通过关键字或索引进行.在对表进行插入删除等操作时,各数据行在内存中的物理位置不变,系统仅重新排列各数据行的索引值.当经常用索引访问表的时候就选择标准表.经常使用二分法方式读取内表,效率高

delphi基础篇之数据类型之简单类型(Simple)

1.简单类型(Simple) 简单类型包括实数类型(Real)和有序类型(Ordinal).有序类型又包括整数类型.字符类型.布尔类型.枚举类型和子界类型等. 1-1.有序类型 有序类型是一个有序数的集合.在每一种有序类型中,任何一个该类型的元素都有一个唯一的先行数(第一个除外)和唯一的后继数(最后一个除外).而且,每个值均有一个确定的序号.对整型数而言,该序号就是该整数的本身.而其它的有序类型(子界类型除外),第一个值的序号是0,第二个是1,依此类推.如果某个有序类型的值为N,则其先行数为N-

ABAP基础:数据类型

数据类型-Data Type:定义程序中可以使用的数据类型,使用前要先定义 数据变量-Data Variable:参照数据类型定义的.可以存储值的变量,就是变量嘛 数据类型 数据类型在ABAP程序中用于定义变量类型 数据类型和数据对象是单独声明的,数据对象则参照数据类型定义 在程序中利用TYPES语句声明数据类型,只能在该程序中使用,也成为本地数据类型 本地数据类型可以参照ABAP数据类型进行声明 数据变量 数据变量是在程序中参照数据类型定义的值. 常用方法是用Data语句定义变量 注意:变量实

oracle(sql)基础篇系列(五)&mdash;&mdash;PLSQL、游标、存储过程、触发器

  PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语言是为了补充SQL语言的,是带有了分支和循环的语言. PL/SQL 语法 基本数据类型声明 declare v_name varchar2(20); v_temp number(1); v_count binary_integer := 0; v_sal number(7,2) := 4000.00

mysql基础篇 - SELECT 语句详解

基础篇 - SELECT 语句详解 SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELECT 语句的用法. 二.实验准备 在正式开始本实验内容之前,需要先下载相关数据库表,搭建好一个名为mysql_shiyan 的数据库(有三张表:department,employee,project),并向其中插入数据. 具体操作如下,首先输入命令进入 /home/shiyanlou/Desktop 目录: cd /

问道python之基础篇【二】python入门

问道python之基础篇[二] Python入门 1.python的工作过程 python解释器把源代码转换为字节码的中间形式,然后再把它翻译成机器使用的机器语言并运行. 2.pyc文件 2.1.什么是pyc文件 执行python代码时,如果导入了其他的.py文件,那么在执行过程中会自动生成一个与其同名的.pyc文件,该文件就是python解释器编译之后产生的字节码. ps:代码经过编译可以产生字节码:字节码通过反编译也可以得到代码. Pyc文件一般由3个部分组成: 最开始4个字节是一个Maig

基础篇:6.Android数据库编程---SQLite

简介: 在Android平台上,继承了一个嵌入式关系型数据库---SQLite.SQLite具有跨平台特性,可以在所有主要的操作系统上运行.SQLite通过独占性和共享锁实现独立事务处理,因此多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据,在进行写操作之前,必须先获得独占锁.另一方面,SQLite采取动态数据类型,当某个值插入数据库时,SQLite会检查它的类型,如果该类型与所关联的列不匹配,SQLite则会进行强制转换.SQLite支持以下几种数据类型:NULL(空值).I