二维码

[基础语法] abap编程中运算符DIV、/、MOD三者的区别

Twilight发表于 2015-02-10 11:46Twilight 最后回复于 2015-02-10 11:46 [复制链接] 9285 0

在abap的开发过程中,用到div、/、mod的时候并不是很多,除非要进行数据处理的时候才有可能用到它们了,下面介绍一下他们之间的用法与区别:
  • div  用于取两数相除的商的,c = a div b,得到的c的值就是a除b的商。
  •   /   用于取两数相除的结果的。c = a / b,如果c是i数据类型的,这个语法会进行四舍五入的。
  • mod  用于取两数相除的余数,c = a mod b,得到的c的值的就是a除b的余数。


在SAP中 除法的运算有两种方式"DIV"和"/",现在分两种情况讨论:
1.把除的结果赋值给整数  
2.把除的结果赋值给小数时
"DIV"在两种情况中都是只取结果中的整数部分值
"/"在情况1中是会对结果进行四舍五入  在情况2中就保留小数,取正常的计算结果

简单来说:MOD 是相除取余数,DIV是相除取商整数

测试程序:
  1. DATA:menge TYPE mseg-menge. "Type i
  2. menge = 7 DIV 3.
  3. WRITE:'7 DIV 3 =',menge.
  4. menge = 7 / 3.
  5. WRITE:/ '7 / 3 =',menge.
  6. menge = 7 MOD 3.
  7. WRITE:/ '7 MOD 3 =',menge.
复制代码

执行结果:
mod_div.jpg
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表