abap四舍五入的函数

DATA p1 TYPE p DECIMALS 2 VALUE '1.6'.
DATA p2 TYPE i .
CALL FUNCTION 'ROUND'
  EXPORTING
   DECIMALS            = 0
    input               = p1
   SIGN                = '+ '
 IMPORTING
   OUTPUT              = p2
 EXCEPTIONS
   INPUT_INVALID       = 1
   OVERFLOW            = 2
   TYPE_INVALID        = 3
   OTHERS              = 4
          .
IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WRITE p2.

输出的结果是2,注意:

1.如果sign参数传入的是'-',则输出的是1,

2.如果不传入参数输出的是2,如果P2定义的和p1是一样的类型时,输出的是原来的数据。

3.如果是’+‘,并且P2定义的和P1一样的类型时,输出的是2.00

posted @ 2014-11-19 09:53  学习笔记NO.1  阅读(1800)  评论(0编辑  收藏  举报