abap四舍五入的函数

时间:2023-12-26 13:58:43
DATA p1 TYPE p DECIMALS  VALUE '1.6'.
DATA p2 TYPE i .
CALL FUNCTION 'ROUND'
EXPORTING
DECIMALS =
input = p1
SIGN = '+ '
IMPORTING
OUTPUT = p2
EXCEPTIONS
INPUT_INVALID =
OVERFLOW =
TYPE_INVALID =
OTHERS =
.
IF sy-subrc <> .
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