博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【基础】ABAP不同变量类型之间数值大小比较
阅读量:2035 次
发布时间:2019-04-28

本文共 752 字,大约阅读时间需要 2 分钟。

这个问题很容易被忽视,在这里写了一段代码分析一下三种情况:
DATA:lv_num1 TYPE string.DATA:lv_num2 TYPE string.DATA:lv_num3 TYPE i.DATA:lv_num4 TYPE i.lv_num1 = '1000'.lv_num2 = '50'.lv_num3 = 20.lv_num4 = 60.*-->字符串之间大小比较WRITE:/ '字符串之间大小比较'.IF lv_num1 > lv_num2.  WRITE:/ lv_num1 ,'>', lv_num2.ELSE.  WRITE:/ lv_num1 ,'<=', lv_num2.ENDIF.*-->字符串与数字大小比较WRITE:/ '字符串与数字大小比较'.IF lv_num1 > lv_num4.  WRITE:/ lv_num1 ,'>', lv_num4.ELSE.  WRITE:/ lv_num1 ,'<=', lv_num4.ENDIF.*-->数字之间大小比较WRITE:/ '数字之间大小比较'.IF lv_num3 > lv_num4.  WRITE:/ lv_num3 ,'>', lv_num4.ELSE.  WRITE:/ lv_num3 ,'<=', lv_num4.ENDIF.
运行结果:

分析:

可见字符串之间的比较和我们想象中不一样,因为他是每个字符之间的比较,第一位和第一位比,如第一位相等,第二位和第二位比较,以此类推。

注意i类型长度是8,所以打印结果会有空格;

字符串和数字类型直接比较也是ok的,但是项目中建议同学们还是把类型都转换为数字类型再比较。

思考:

如果string类型换成CHAR类型,大小比较的规律是不是也是如此呢?

你可能感兴趣的文章
OneNote无法同步问题
查看>>
GridView选择性导出Excel
查看>>
GridView+存储过程实现'真分页'
查看>>
HTML5-认识篇
查看>>
Web Service(一):Hello World
查看>>
开启 J2EE(二)— JDBC
查看>>
使用redis做mysql缓存
查看>>
JavaWeb JavaScript
查看>>
JavaWeb Request和Response
查看>>
深入理解JVM1
查看>>
JavaWeb Servlet
查看>>
深入理解JVM3
查看>>
JavaWeb Tomcat
查看>>
rocketMQ基本理解
查看>>
Linux下的Nginx安装
查看>>
利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件
查看>>
JVM
查看>>
Apach Hadoop 与 CDH 区别
查看>>
Docker(五):Dockerfile
查看>>
tomcat中server.xml配置详解
查看>>