加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]abap编程中小数四舍五入的问题

(2017-11-23 10:38:48)
标签:

转载

分类: sapabap和新语法

 ①若要从最后一位小数开始向前舍入,如123.456 精确到两个位为124.000

可以通过调用函数ROUND来实现

 

CALL FUNCTION 'ROUND'      

EXPORTING 

DECIMALS       0       "精确到小数位数,这里为精确到个位

           input               value   "需要四舍五入的数

       SIGN     '+'/'-'/space/'X' 

  '+'或者'X' 是四舍五入,'-'为不四舍五入直接去掉,space是不变化

  IMPORTING    

OUTPUT             value

    EXCEPTIONS

    INPUT_INVALID        1

    OVERFLOW             2     

TYPE_INVALID         3     

OTHERS          4

 ②若要从十分位小数舍入,可以按下面程序转换

 

DATAvalue TYPE VALUE '123.556' DECIMALS 3.

IF FRACvalue GE '0.5'.     " frac为取小数位

   value TRUNCvalue 1.  " trunc为取整数位

ELSE.   

   value TRUNCvalue ).

ENDIF.

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有