Chinaunix首页 | 论坛 | 博客
  • 博客访问: 278003
  • 博文数量: 62
  • 博客积分: 2966
  • 博客等级: 少校
  • 技术积分: 615
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-07 23:16
个人简介

Be a simple man

文章分类

全部博文(62)

文章存档

2012年(6)

2011年(15)

2010年(6)

2009年(3)

2008年(5)

2007年(27)

我的朋友

分类:

2008-04-01 11:00:30

方法一:abap调用javascript
REPORT  ztest_dyn_formula.

DATA t1 TYPE i.
PERFORM dynamicformula  USING ' 900 + 7  % 3 ' t1.
WRITE / t1.
PERFORM dynamicformula  USING ' 900 + ( 7 + 10 )  % 3 ' t1.
WRITE / t1.
PERFORM dynamicformula  USING ' 900 * 30 + ( 7 + 10 )  % 3 ' t1.
WRITE / t1.
*&--------------------------------------------------------------------
*&      Form  dynamicformula
*&--------------------------------------------------------------------
FORM dynamicformula USING  formula TYPE string
                    CHANGING re TYPE i.
  DATA source TYPE string.
  DATA return_value TYPE string.
  DATA js_processor TYPE REF TO cl_java_script.
  js_processor = cl_java_script=>create( ).
  CONCATENATE
    'result = '
    formula
     ';'
   INTO source.
  return_value = js_processor->evaluate( source ).
  re = return_value.
ENDFORM.                    "dynamicformula
 
方法二:
REPORT  ztest_dyn_formula.
 
PERFORM test.
*&---------------------------------------------------------------------*
*&      Form  test
*&---------------------------------------------------------------------*
FORM test .
  CALL FUNCTION 'EVAL_FORMULA'
    EXPORTING
      formula = ' ( 9 * 10 + ( 7 + 10 ) * 2 )  div 3 '
    IMPORTING
      value   = t1.
  WRITE / t1.
ENDFORM.                    " test

算术运算符
说明  符号 
加法  +
递减  --
除法  /
递增  ++
取模算法  %
乘法  *
减法  -
一元求反  -
 

所有算术运算符都对数值数据执行计算。当任一操作数为字符串时,加法运算符还执行字符串串联操作。

逻辑运算符
说明  符号 
相等  ==
 大于或等于  >=
 大于  >
 恒等  ===
 包含在其中  in
 不相等  !=
 小于或等于  <=
 小于  <
 逻辑“与”  &&
 逻辑“非”  !
 逻辑“或”  ||
 不全等  !==
 
逻辑运算符返回Boolean值。根据运算符的不同,值可以表示比较、测试或组合的结果。

位运算符
说明  符号 
按位“与”  &
 按位左移  <<
 按位“非”  ~
 按位“或”  |
 按位右移  >>
 按位“异或”  ^
 无符号右移  >>>
 
位操作符对操作数的二进制表示形式执行操作。如果操作数相互不兼容,将强迫使它们成为适当的类型。有关更多信息,请参见按位运算符强制。

赋值运算符
说明  符号 
赋值  =
 复合加法赋值  +=
 复合按位“与”赋值  &=
 复合按位“或”赋值  |=
 复合按位“异或”赋值  ^=
 复合除法赋值  /=
 复合左移赋值  <<=
 复合取模赋值  %=
复合乘法赋值  *=
 复合右移赋值  >>=
 复合减法赋值  -=
 复合无符号右移赋值  >>>=
 
所有的赋值运算符都返回赋给左操作数的值。

其他运算符
说明  符号 
逗号  ,
 条件(三元)  ?:
 删除  delete
 确定实例  instanceof
 新建  new
 Typeof  typeof
 返回空  void

资料来源:http://blog.csdn.net/CompassButton/archive/2008/03/25/2217042.aspx

 

阅读(1673) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~