当前位置: 首页 > news >正文

SAP ABAP 数据类型P类型详解

  1.     ABAP中比较难以理解的是P类型的使用,P类型是一种压缩类型,主要用于存储小数,定义时要指定字节数和小数点位数,定义语法如下:

         DATA: name(n) TYPE P decimals m,n代表字节数,最大为16,m是小数点位数,最大为14,所以n长度的存2*n-1个数,m个小数。

         如果对P类型赋值的整数部分超过了其定义的最大长度,则出现异常。小数部分可以随意赋值但是按四舍五入的原则取值。

  2. 定义语法:DATA: m(n) TYPE P decimals i value '123.45'.
     
  3. P类型又名压缩类型。默认大小8字节,初始值0。
  4. P类型按位进行数字存储。每四位存放一个数字。符号位也占用四位。除去符号位之外默认P类型可以存放15个整型数字。
  5. P类型可以定义的有效长度可以是1到16个字节。对于长度为1字节的P类型。除去符号位之外只能存放1个整型数字。对于长度为16字节的P类型。除去符号位之外只能存放31个整型数字。
  6. P类型最多可以定义14位的小数位。
  7. P类型最多可以存放的数字是2*n-1(包括小数位,点号不计算在内)。
  8. 如果对P类型赋值的整数部分超过了其定义的最大长度,则赋值异常。小数部分可以随意赋值但是按四舍五入的原则取值。
  9. 如果对P类型赋值的整数部分等于其定义的最大长度则从整数部分从后往前取出等于小数位数的位数赋给小数位,其它的赋给整数位。原来的小数位忽略。
  10. 如果对P类型进行赋值而没有定义小数位,然而所赋值有小数位(具有小数点),则所赋值一律当作整数看待赋给所定义P类型变量。例如:DATA: m TYPE p VALUE '12.36'.WRITE: / m.运行此段代码输出的结里m是12(原文写的是1236,不知道作者有没有测试)。
http://www.lryc.cn/news/15591.html

相关文章:

  • 应用沙盒seccomp的使用
  • C++项目——高并发内存池(2)——thread_cache的基础功能实现
  • 【C进阶】数据的存储
  • 【已解决】异常断电文件损坏clickhouse启动不了:filesystem error Structure needs cleaning
  • FlinkSQL行级权限解决方案及源码
  • 【基础篇】8 # 递归:如何避免出现堆栈溢出呢?
  • 基于微信公众号(服务号)实现扫码自动登录系统功能
  • AXI实战(二)-跟着产品手册设计AXI-Lite外设(AXI-Lite转串口实现)
  • 一周搞定模拟电路视频教程,拒绝讲PPT,仿真软件配合教学,真正一周搞定
  • 高德地图获得角度
  • 【C++】-- C++11基础常用知识点(下)
  • 提到数字化,你想到哪些关键词
  • 【蓝桥杯集训·每日一题】AcWing 1249. 亲戚
  • iphone所有机型的屏幕尺寸
  • Windows10使用-处理IE自动跳转至Edge
  • linux input子系统,gpio-keys,gpio中断使用
  • 分析称勒索攻击在非洲、中东与中国增长最快
  • ArcPy批量合并矢量shape文件
  • 改写有序表的题目核心点
  • 收藏这几个开源管理系统做项目,领导看了直呼牛X!
  • 【刷题篇】链表(下)
  • Shiro
  • 使用nginx进行负载均衡配置详细说明
  • N皇后问题
  • 强化学习DQN之俄罗斯方块
  • 1.3总线:并行总线、串行总线、单工、半双工、全双工、总线宽度、总线带宽、总线的分类、数据总线、地址总线、控制总线
  • Linux驱动开发—设备树开发详解
  • 深入浅出C++ ——继承
  • 设计模式C++实现20: 桥接模式(Bridge)
  • Android中的Rxjava